Moment.js - Utc Does Not Work As I Expect It
testing in the node console: var moment = require('moment'); // create a new Date-Object var now = new Date(2013, 02, 28, 11, 11, 11); // create the native timestamp var native =
Solution 1:
Call moment.utc()
the same way you're calling Date.UTC
:
var withMoment = moment.utc([now.getFullYear(), now.getMonth(), now.getDate(), now.getHours(), now.getMinutes(), now.getSeconds()]).valueOf();
I think calling moment.utc(now)
will make it assume now
lives in the local timezone, and it will convert it to UTC first, hence the difference.
Solution 2:
What you are doing is essentially this.
var now = newDate(2013, 02, 28, 11, 11, 11);
var native = Date.UTC(2013, 02, 28, 11, 11, 11);
console.log(now === utc); // falseconsole.log(now - utc); // your offset from GMT in milliseconds
Because now
is constructed in the current timezone and native
is constructed in UTC, they will differ by your offset. 11 AM PST != 11 AM GMT.
Post a Comment for "Moment.js - Utc Does Not Work As I Expect It"