У меня есть 2 объекта Joda LocalDateTime
, и мне нужно создать третий, который представляет разницу между ними:
LocalDateTime start = getStartLocalDateTime();
LocalDateTime end = getEndLocalDateTime();
LocalDateTime diff = ???
Единственный способ, который я могу понять, - это кропотливо просмотреть каждое поле даты/времени и выполнить соответствующую операцию minus
:
LocalDateTime diff = end;
diff.minusYears(start.getYear());
diff.minusMonths(start.getMonthOfYear());
diff.minusDays(start.getDayOfMonth());
diff.minusHours(start.getHourOfDay());
diff.minusMinutes(start.getMinuteOfHour());
diff.minusSeconds(start.getSecondsOfMinute());
Конечным результатом будет просто вызов метода toString()
diff
и получение чего-то осмысленного. Например, если start.toString()
выдает 2012/02/08T15:05:00, а end.toString()
выдает 2012/02/08T16:00:00, то diff.toString()
будет разницей (55 минут) и может выглядеть как 2012/02/08T00:55: 00.
И если это ужасное злоупотребление LocalDateTime
, то мне просто нужно знать, как взять разницу во времени между ними и поместить эту разницу в удобный для чтения (удобный для человека) формат.
Заранее спасибо!