Если вы спросите
Как я могу получить разницу в минутах между двумя временами?
то я бы подумал о следующем более интуитивном решении:
LocalTime startT = new LocalTime(6,30);
LocalTime endT = new LocalTime(12,15);
int minutes = Minutes.minutesBetween(startT, endT).getMinutes(); // 345m = 6h - 15m
Выражение
Period.fieldDifference(startT, endT).getMinutes()
даст только -15
, что означает неучет разницы в часах и, следовательно, не преобразование часов в минуты. Если второе выражение действительно то, что вам нужно, то вопрос должен быть примерно таким:
Как я могу получить разницу между минутными частями двух LocalTime
-экземпляров?
Обновлено для Java-8:
LocalTime startT = LocalTime.of(6,30);
LocalTime endT = LocalTime.of(12,15);
long minutes = ChronoUnit.MINUTES.between(startT, endT);
System.out.println(minutes); // output: 345
// Answer to a recommendation in a comment:
// Attention JSR-310 has no typesafety regarding units (a bad design choice)
// => UnsupportedTemporalTypeException: Unsupported unit: Minutes
minutes = Duration.between(startT, endT).get(ChronoUnit.MINUTES);
person
Meno Hochschild
schedule
13.03.2014