Warum kann ich in java.time keine Dauer in Minuten oder Stunden erhalten?
DesDuration
klasse im neuenJSR 310 Datums-API (Java.Time-Paket) verfügbar in Java 8 und höher, sagt der Javadoc:
Diese Klasse modelliert eine Menge oder einen Zeitraum in Sekunden und Nanosekunden.Sie können mit anderen auf der Dauer basierenden Einheiten wie Minuten und Stunden darauf zugreifenDarüber hinaus kann die DAYS-Einheit verwendet werden und entspricht genau 24 Stunden. Dadurch werden die Auswirkungen der Sommerzeit ignoriert.
Warum stürzt der folgende Code ab?
Duration duration = Duration.ofSeconds(3000);
System.out.println(duration.get(ChronoUnit.MINUTES));
Dies wirft eineUnsupportedTemporalTypeException
:
java.time.temporal.UnsupportedTemporalTypeException: Unsupported unit: Minutes
at java.time.Duration.get(Duration.java:537)
Was ist die empfohlene Methode zum Extrahieren von Minuten und Stunden aus einem Dauerobjekt? Müssen wir die Berechnung aus der Anzahl der Sekunden selbst vornehmen? Warum wurde es so implementiert?