Я использую moments.js для работы с датами в javascript. Все даты указаны в формате UTC (или должны быть).Moment.js diff между датами UTC
У меня есть следующие даты (60 минут от текущего времени):
//Wed, 04 Apr 2012 21:09:16 GMT
to = moment.utc().add('m', 60).toDate();
Теперь я хочу, чтобы получить разницу в секундах между этой датой и текущей UTC DateTime, так что я:
seconds = moment.utc().diff(to, 'seconds');
Это возвращает 10800
вместо 3600
, поэтому 3 часа, а не один.
Любые идеи, что я делаю неправильно?
Спасибо!
EDIT:
Я обновил строку seconds = moment().diff(to, 'seconds');
и получает currect секунд, но это -3600
вместо позитива.
EDIT:
теперь у меня есть объекты эти два момента:
{ _d: Thu, 05 Apr 2012 17:33:18 GMT, _isUTC: true }
{ _d: Thu, 05 Apr 2012 16:38:45 GMT, _isUTC: true }
d1 и d2.
Когда я сделаю d1.diff(d2, 'hours', true);
, это возвращает 4
. Это определенно связано с UTC, я думаю, но похоже, что должен работать.
Hm, что «до» действительно значение приходит из базы данных, что был создан с использованием кода выше, поэтому я должен использовать toDate(), чтобы получить строку для хранения. – dzm
@Super Я отредактировал сообщение. Работа с моментальными объектами, которые являются UTC, получая аналогичные проблемы. – dzm