Java:为什么TimeUnit缺少枚举?

Seb*_*ber 14 java time java-ee

我只是想知道为什么Java的TimeUnit类中缺少一些枚举?

实际上最大时间单位是DAY,而我想使用像WEEK,YEAR这样的东西......

das*_*ght 15

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

  • Java 8提供了[java.time.temporal.ChronoUnit](https://docs.oracle.com/javase/8/docs/api/java/time/temporal/ChronoUnit.html),这可能很有用. (4认同)