Я использую moment.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 часа вместо одного.
Есть идеи, что я делаю не так?
Спасибо!
РЕДАКТИРОВАТЬ:
Я обновил строку до seconds = moment().diff(to, 'seconds');
, и она получает правильные секунды, но это -3600
вместо положительного.
РЕДАКТИРОВАТЬ:
Теперь у меня есть эти два объекта момента:
{ _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, но, похоже, должно работать.