Of the Duration class in the new JSR 310 date API (java.time package) available in Java 8, the javadoc says :
This class models a quantity or amount of time in terms of seconds and
nanoseconds. It can be accessed using other duration-based units, such
as minutes and hours.In addition, the DAYS unit can be used and is treated as exactly equal to 24 hours, thus ignoring daylight savings effects.
Duration duration = Duration.ofSeconds(3000);
java.time.temporal.UnsupportedTemporalTypeException: Unsupported unit: Minutes
The documentation says:
This returns a value for each of the two supported units, SECONDS and NANOS. All other units throw an exception.
So, best guess answer -- that's the way they designed it.
You can use some of the other methods to get it in hours:
long hours = duration.toHours();
long minutes = duration.toMinutes();