我想從字符串創建一個新的Date對象如下不同的結果:的JavaScript字符串新的Date對象,在IE和FF
var myDate= new Date("1985-01-01T00:00:00.000-06:00");
在Firefox,它會提醒以下
星期二1985年1月1日00:00:00 GMT-0600(中部標準時間)
在IE8,它會提醒以下
NaN的
爲什麼IE瀏覽器出毛病了這條路?
我想從字符串創建一個新的Date對象如下不同的結果:的JavaScript字符串新的Date對象,在IE和FF
var myDate= new Date("1985-01-01T00:00:00.000-06:00");
在Firefox,它會提醒以下
星期二1985年1月1日00:00:00 GMT-0600(中部標準時間)
在IE8,它會提醒以下
NaN的
爲什麼IE瀏覽器出毛病了這條路?
展望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
這將不會得到正確的日期,因爲ie8計數月從'0'而不是'1',所以'新日期(1985,01,01,06,00,000000000000)'得到2月不是6月,你需要減少1當你過去的月份參數 – 2014-04-10 06:37:53
嘗試moment.js爲您所有的JS日期困境。
你可以給出如何使用moment.js來回答問題的代碼示例嗎? – JustinStolle 2013-09-02 21:06:48
@JustinStolle var myDate = moment('1985-01-01T00:00:00.000-06:00'); – dontGoPlastic 2013-09-03 00:43:01
的格式不被支持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
的[在IE,NAN JavaScript的日期 - Firefox和鉻OK]
可能重複(http://stackoverflow.com/questions/2182246/javascript-dates-in-ie-nan-firefox-chrome-ok ) – 2012-03-28 16:46:39
因爲IE8不支持這種格式。就那麼簡單。 – BalusC 2012-03-28 16:47:05
嗨balusC,什麼是最簡單的方式創建一個與字符串爲IE瀏覽器的日期? – user1195192 2012-03-28 16:52:37