У меня есть два long
s, представляющие время с эпохи. Оба они имеют одинаковый часовой пояс. Я хочу найти разницу в секундах между этими двумя временами, с учетом экономии дневного света.Разница во времени в отношении экономии дневного света
(def a (java.util.Date. 1259568796000)) ;; Before Day Light Savings
(def b (java.util.Date. 1255147200000)) ;; After Day Light Savings
Где а'- 2009-11-30T08:13:16.000-00:00
и
Где б 'является 2009-10-10T04:00:00.000-00:00
Использование JodaTime, я могу сделать Interval
из этих двух раз, превратить их в Duration
, и получите StandardSeconds
.
(.getStandardSeconds (.toDuration (Interval. a b)))
Это не работает, хотя, потому что документы для Period
показывают, что Duration
испортит Дневной свет Экономия:
Когда этот период времени добавляется в момент, эффект добавления каждый поле по очереди. В результате это учитывает дневной свет экономия времени. Добавление периода времени от 1 дня до дня до дневного света сбережения начнут добавлять только 23 часа, а не 24, чтобы гарантировать, что время остается неизменным. Если это не то поведение, которое вы хотите, то см. Продолжительность.
Как я могу выполнить эту задачу?
Просто для пояснения, но вы знаете, что конструктор java.util.Date занимает миллисекунды правильно? – samsquanch
@boerealis Я. Я отредактирую сообщение, чтобы отразить даты, которые я использую. Благодаря! – Mike