16

I just wonder, why some enums are missing on the TimeUnit class of Java?

Actually the max timeunit is DAY while i would like to use stuff like WEEK, YEAR...

4

2 回答 2

18

TimeUnit.DAYS常数表示 24 小时的间隔,而不是日历日(午夜到午夜)。超出一天(一周、一个月、一年)的任何时间都是日历单位,而不是时间单位。日历单位的持续时间取决于所使用的日历:例如,当夏令时生效和失效时,一周可以长或短一小时,闰年长一天,等等。这就是为什么在TimeUnit枚举中包含日历单位没有意义。

于 2012-06-07T17:11:26.290 回答
0

在 Java 8 ChronoUnit 中,您可以在一个枚举中拥有 NANOS(纳秒)和 CENTURIES、MILLENIA 甚至 FOREVER 之间的所有常用时间单位:https ://docs.oracle.com/javase/8/docs/api/java /time/temporal/ChronoUnit.html (参见 Julien Kronegg 对所选答案的评论)

于 2019-01-09T12:47:50.700 回答