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)
では、期間オブジェクトから分と時間を抽出するための推奨される方法は何ですか? 秒数から自分で計算する必要がありますか?なぜそのように実装されたのですか?