cuo*_*gle 91 javascript timezone date
我想Date
通过javascript 转换日期字符串,使用此代码:
var date = new Date('2013-02-27T17:00:00');
alert(date);
Run Code Online (Sandbox Code Playgroud)
'2013-02-27T17:00:00'
是来自服务器的JSON对象的UTC时间.
但上述代码的结果在Firefox和Chrome之间有所不同:
Firefox返回:
Wed Feb 27 2013 17:00:00 GMT+0700 (SE Asia Standard Time)
Run Code Online (Sandbox Code Playgroud)
Chrome返回:
Thu Feb 28 2013 00:00:00 GMT+0700 (SE Asia Standard Time)
Run Code Online (Sandbox Code Playgroud)
这是不同的1天,我期望的正确结果是Chrome的结果.
演示代码:http://jsfiddle.net/xHtqa/2/
如何解决这个问题以从两者中获得相同的结果?
Pet*_*lin 66
UTC的正确格式是2013-02-27T17:00:00Z
(Z代表祖鲁时间).Z
如果不存在则附加以获得正确的UTC日期时间字符串.
Ber*_*rgi 29
是的,不幸的是,日期解析算法依赖于实现.从(使用的)规范Date.parse
new Date
:
String可以解释为本地时间,UTC时间或某个其他时区的时间,具体取决于String的内容.该函数首先尝试根据日期时间字符串格式(15.9.1.15)中调出的规则来解析字符串的格式.如果String不符合该格式,则该函数可以回退到任何特定于实现的启发式或特定于实现的日期格式.
要使Date
构造函数不(可能)使用本地时区,请使用带有时区信息的日期时间字符串,例如"2013-02-27T17:00:00Z"
.但是,很难找到每个浏览器可靠解析的格式 - IE <8不能识别ISO格式(请参阅JavaScript:哪些浏览器支持使用Date.parse解析ISO-8601日期字符串).更好的是,使用unix时间戳,即自unix epoch以来的毫秒,或者使用正则表达式将字符串分解为部分,然后将其输入Date.UTC
.
归档时间: |
|
查看次数: |
63216 次 |
最近记录: |