Разница в секундах между двумя датами, использующими время Джоды?
Предположим, что есть две даты A (время начала) и B (время окончания). A и B могут быть временем в тот же день или даже другой день. Моя задача - показать разницу в секундах. Формат даты, который я использую,
Date Format :: "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
Например,
start date :: "2011-11-16T14:09:23.000+00:00"
end date :: "2011-11-17T05:09:23.000+00:00"
Помощь приветствуется.
Ответы
Ответ 1
Используйте класс Seconds
:
DateTime now = DateTime.now();
DateTime dateTime = now.plusMinutes(10);
Seconds seconds = Seconds.secondsBetween(now, dateTime);
System.out.println(seconds.getSeconds());
Этот фрагмент кода печатает 600. Я думаю, что это то, что вам нужно.
В качестве дальнейших рекомендаций изучите документацию joda-time
. Это довольно хорошо, и большинство вещей очень легко обнаружить.
Если вам нужна помощь в анализе дат (на самом деле в документах), проверьте связанные вопросы, например:
Дата составления с помощью Joda с часовым поясом
Ответ 2
Ответ @pcalcao будет лучше всего в большинстве случаев. Имейте в виду, что секунды будут округлены до целого числа.
Если вы заинтересованы в точности подсетей, просто вычтите миллисекунды:
double seconds = (now.getMillis() - dateTime.getMillis()) / 1000d;