为什么没有持续时间.ofWeeks()?

时间:2016-04-29 10:06:34

标签: java datetime java-8 java-time

根据this answer,没有Duration.ofMonths()

  

因为一个月的长度不一。

但为什么没有Duration.ofWeeks()?一周的长度不变,至少不超过一天的长度。我们确实有Duration.ofDays()

那么,这有充分的理由吗?

1 个答案:

答案 0 :(得分:5)

在所有API中,必须在某处绘制一条线。允许Duration提及日期严格说来是可疑的,因为天数不同。但是,许多应用程序有意识地决定参考24小时工作日,因此API方法是合理的。

相比之下,将周数视为(24 * 7)小时的人数非常少。模拟一周的正确方法绝对是使用Period。因此,虽然可以将方法添加到Duration,但它可能会导致更多错误而不是幸福。