Joda-Time:Period,Interval和Duration有什么区别?

Joda-Time:Period,Interval和Duration有什么区别?,第1张

Joda-Time:Period,Interval和Duration有什么区别?

需要3个类,因为它们表示不同的概念,因此,选择适合工作的类而不是相对性能是一个问题。从文档中,我用 斜体 添加了注释:


间隔 在约达时间表示时间从一个毫秒时刻到另一时刻的间隔。这两个时刻都是日期时间连续体中完全指定的时刻,并带有时区。
定义了特定时间,例如,这可能是昨天20:00:00GMT和今天早上09:00:00GMT之间的时间间隔。

持续时间 在约达时间表示以毫秒计的时间的持续时间。持续时间通常是从一个间隔中获得的。 即我们可以从间隔结束处减去开始以得出持续时间

期间
在约达时间表示一段时间中的字段来定义,例如,3年5月2天及7小时。这与持续时间的不同之处在于,它以毫秒为单位不精确。通过指定相对的瞬间(包括时间和时区),只能将一个时期解析为精确的毫秒数。
例如,考虑一年的期限,如果将其添加到1月1日,我们将始终到达下一个1月1日,但是持续时间取决于中间年份是否为a年。
同样,如果我们在一个月的1号加上1个月,那么我们将在下个月的1号到达,但是持续时间(以毫秒为单位)将根据相关月份而有所不同



对于问题3,确实没有必要使用特定的方法来划分持续时间,因为我们总是可以从持续时间中获取毫秒数

long
(使用
getMillis()
),对其进行划分并构造新的持续时间(使用
newDuration(long duration)
)。

根据上述期间的定义,划分期间实际上并没有真正的意义。例如,半个月是什么?(其长度取决于哪个月)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5478015.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存