I'm using moments.js for working with dates in javascript. All dates are in UTC (or should be).
I have the following date (60 minutes from current time):
//Wed, 04 Apr 2012 21:09:16 GMT
to = moment.utc().add('m', 60).toDate();
Now I want to get the difference in seconds between this date and the current UTC datetime, so I do:
seconds = moment.utc().diff(to, 'seconds');
This returns 10800
instead of 3600
, so 3 hours, instead of one.
Any ideas what I'm doing wrong?
Thank you!
EDIT:
I updated the line to seconds = moment().diff(to, 'seconds');
and it gets the currect seconds, but it's -3600
instead of positive.
EDIT:
I now have these two moment objects:
{ _d: Thu, 05 Apr 2012 17:33:18 GMT, _isUTC: true }
{ _d: Thu, 05 Apr 2012 16:38:45 GMT, _isUTC: true }
d1 and d2.
When I do d1.diff(d2, 'hours', true);
this returns 4
. It's definitely something to do with UTC I think, but it seems this should work.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…