Let's say I type the following code in the console:
var TheDate = new Date(2012, 10, 5);
TheDate.toUTCString();
"Sun, 04 Nov 2012 23:00:00 GMT" (I'm +1 hour ahead of GMT)
The result is that the date is actually set to the local time. How do I create a Date that's set to UTC? If I do TheDate.toUTCString()
I want it to say 05 Nov 2012 00:00:00 GMT.
Thanks.
Use the Date.UTC()
method:
var TheDate = new Date( Date.UTC(2012, 10, 5) );
console.log( TheDate.toUTCString() );
returns
Mon, 05 Nov 2012 00:00:00 GMT
Date.UTC
Accepts the same parameters as the longest form of the constructor, and returns the number of milliseconds in a Date object since January 1, 1970, 00:00:00, universal time.
I would suggest you use momentjs (
momentjs.com
), then all you have to do is:
var theDate = new Date(2012, 10, 5),
utcDate = moment.utc(theDate);
I found a shorthand for it, You could also create your date in ISO format as new Date('YYYY-MM-DD')
to create date as UTC:
var DateA = new Date( '2012-11-05' );
console.log( DateA.toUTCString() );
// note the difference between input methods
var DateB = new Date( Date.UTC(2012, 10, 5) );
console.log( DateB.toUTCString() );