Подтвердить что ты не робот

Разница в секундах между двумя датами, использующими время Джоды?

Предположим, что есть две даты 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"            

Помощь приветствуется.

4b9b3361

Ответ 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;