11

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

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

Firefox 对此很满意,但 Chrome 和 IE 返回 Invalid Date。

我想我会尝试更换 T 和 Z 如下:

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

这次 Chrome 对此很满意,但 Firefox 和 IE 返回 Invalid Date。

我应该怎么做才能在所有具有这种格式的浏览器中获取日期对象?!

非常感谢,蒂姆

4

4 回答 4

24

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

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

于 2010-08-25T13:21:00.210 回答
3

你能试一下吗:

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

这表示:

new Date(year,month,day,hour,minutes,seconds) 
于 2010-08-25T13:17:03.930 回答
3

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

于 2010-08-25T14:00:11.680 回答
3

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

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

我感谢 mplungjan 的回答。

于 2010-08-25T14:37:42.567 回答