Я использую moments.js для работы с датами в javascript. Все даты указаны в формате UTC (или должны быть).
У меня есть следующая дата (60 минут от текущего времени):
//Wed, 04 Apr 2012 21:09:16 GMT
to = moment.utc().add('m', 60).toDate();
Теперь я хочу получить разницу между секундами между этой датой и текущим временем и временем UTC, поэтому я:
seconds = moment.utc().diff(to, 'seconds');
Это возвращает 10800
вместо 3600
, поэтому на 3 часа вместо одного.
Любые идеи, что я делаю неправильно?
Спасибо!
EDIT:
Я обновил строку до seconds = moment().diff(to, 'seconds');
, и она вернет секунды, но она -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, я думаю, но, похоже, это должно сработать.