使用不同浏览器的JavaScript中的日期格式问题

时间:2010-08-25 13:10:13

标签: javascript datetime date-format date-parsing

我正在使用RSS Feed中的日期,但在IE,Chrome和Firefox中使用以下代码时发现了不同的结果:

new Date('2001-01-01T12:00:00Z')

Firefox很满意,但Chrome和IE返回无效日期。

我以为我会尝试更换T和Z,如下所示:

new Date('2001-01-01 12:00:00')

这次Chrome很满意,但Firefox和IE返回无效日期。

我想用这种格式在所有浏览器中获取日期对象应该做些什么?!

非常感谢, 添

4 个答案:

答案 0 :(得分:23)

这适用于我的盒子上的所有浏览器 - 在控制台中尝试:

alert(new Date('2001/01/31 12:00:00'))

所以

new Date('2001-01-01T12:00:00Z'.replace(/\-/g,'\/').replace(/[T|Z]/g,' '))

IE8,FF3.6,Safari4,Chrome

答案 1 :(得分:3)

您也可以尝试使用Date.js - 一个开源的javascript日期操作库。

答案 2 :(得分:3)

这适用于所有主要的5个浏览器,并使所有浏览器将时间识别为GMT / UTC而不是本地时间(Z后缀表示时间为UTC):

new Date('2001-01-01T12:00:00Z'.replace(/\-/g,'\/').replace(/T/,' ').replace(/Z/,' -0'))

我感谢mplungjan的回答。

答案 3 :(得分:2)

你可以尝试:

new Date(2001,0,1,12,0,0)

这意味着:

new Date(year,month,day,hour,minutes,seconds)