为什么没有Duration.ofWeeks()?

use*_*908 1 java datetime java-8 java-time

根据这个答案,没有一个Duration.ofMonths()

因为一个月的长度不一样.

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

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

Jod*_*hen 5

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

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