I want to convert date string to
var date = new Date('2013-02-27T17:00:00'); alert(date);
'2013-02-27T17:00:00' is UTC time in JSON object from server.
But the result of above code is different between Firefox and Chrome:
Wed Feb 27 2013 17:00:00 GMT+0700 (SE Asia Standard Time)
Thu Feb 28 2013 00:00:00 GMT+0700 (SE Asia Standard Time)
It's different 1 day, the correct result I would expect is the result from Chrome.
Demo code: http://jsfiddle.net/xHtqa/2/
How can I fix this problem to get the same result from both?
The correct format for UTC would be
2013-02-27T17:00:00Z (Z is for Zulu Time). Append
Z if not present to get correct UTC datetime string.
The String may be interpreted as a local time, a UTC time, or a time in some other time zone, depending on the contents of the String. The function first attempts to parse the format of the String according to the rules called out in Date Time String Format (220.127.116.11). If the String does not conform to that format the function may fall back to any implementation-specific heuristics or implementation-specific date formats.
To make the
Date constructor not (maybe) use the local timezone, use a datetime string with timezone information, e.g.
I found one thing here. It seems the native Firefox Inspector Console might have a bug: If I run "new Date()" in the native Inspector, it shows a date with wrong timezone, GMT locale, but running the same command in the Firebug Extension Console, the date shown uses my correct timezone (GMT-3:00).
Try using moment.js. It goes very well and in similar fashion with all the browsers. comes with many formatting options. use moment('date').format("") instead of New Date('date')
©2020 All rights reserved.