我正在尝试从字符串创建一个新的日期对象,如下所示:
var myDate= new Date("1985-01-01T00:00:00.000-06:00");
在FireFox上,它会提醒以下
1985年1月1日星期二00:00:00 GMT-0600(中央标准时间)
在IE8上,它会提醒以下
的NaN
为什么IE会以这种方式表现?
答案 0 :(得分:5)
查看documetation正确的格式如下:
new Date(year, month, day [, hour, minute, second, millisecond ])
因此,如果您运行以下代码,则可以在所有浏览器中使用:
var myDate= new Date(1985, 01, 01 , 00, 06, 00, 0000000000);
myDate // you get the right date in all browsers IE8/7 included
答案 1 :(得分:2)
尝试moment.js解决所有JS日期问题。
答案 2 :(得分:0)
IE不支持该格式。也许您可以尝试使用setUTCHours
:
var rawdate = new Date("1985/01/01 00:00:00 GMT");
console.log(rawdate);
//=> in my timezone: Tue Jan 1 01:00:00 UTC+0100 1985
console.log(rawdate.setUTCHours(-6));
//=> in my timezone that results in: Mon Dec 31 19:00:00 UTC+0100 1984
或许你的意思是(在IE中工作,而不是在其他浏览器中工作)?
var rawdate = new Date("1985/01/01 00:00:00 GMT-6");
//=> Tue Jan 1 07:00:00 UTC+0100 1985