【问题标题】:Converting JodaTime Duration to Java 8 time Duration: getStandardMinutes and other methods将 Joda Time Duration 转换为 Java 8 时间 Duration:获取标准分钟和其他方法
【发布时间】:2020-02-29 21:17:30
【问题描述】:
【问题讨论】:
标签:
java
jodatime
java-time
【解决方案1】:
在 Java 8 的 Duration 类中,持续时间不包含参考日期。因此,您将提取的所有分钟都是标准分钟。在 JodaTime 中,getStandardXXX 的 cmets 明确指定 Duration 假定默认的一天长度(24 小时/天、60 分钟/小时、60 秒/分钟 ...)。然而,这只是相关的,如果您想将持续时间应用于参考(日期)时间(例如,将此 Duration 添加到此 DateTime),在这种情况下,将“天”添加到翻转的日期夏令时可能会产生意想不到的效果(如小时偏移)。但是,对于Duration 对象,这是无关紧要的,因为它有效地表示“实时”中以纳秒为单位的持续时间,而忽略时区等。
本质上,您可以使用toMinutes() 来获取确切的分钟数作为long 值。
来自 javadoc:
获取此持续时间的分钟数。
这会通过将秒数除以 60 来返回持续时间的总分钟数。
此实例是不可变的,不受此方法调用的影响。