Duration
在 Java 8 及更高版本中可用的新JSR 310日期 API(java.time 包)中的类中,javadoc 说:
此类以秒和纳秒为单位对时间量或时间量进行建模。可以使用其他基于持续时间的单位来访问它,例如分钟和小时。此外,可以使用 DAYS 单位并将其视为完全等于 24 小时,从而忽略夏令时的影响。
那么,为什么下面的代码会崩溃?
Duration duration = Duration.ofSeconds(3000);
System.out.println(duration.get(ChronoUnit.MINUTES));
这引发了一个UnsupportedTemporalTypeException
:
java.time.temporal.UnsupportedTemporalTypeException: Unsupported unit: Minutes
at java.time.Duration.get(Duration.java:537)
那么从持续时间对象中提取分钟和小时的推荐方法是什么?我们是否必须自己根据秒数进行计算?为什么以这种方式实施?