2014-01-13 17 views
2

我有一個日期時間字符串,從SQL數據庫到我的Javascript函數。解析日期時間字符串在Firefox和Internet Explorer中失敗,在Chrome上工作

2013-12-31 09:09:49 

Chrome似乎解析它沒有問題,但NaN返回Firefox和IE。

這是怎麼發生的?

如果它的確與衆不同,我使用的SQLServer 2012

+0

[將MySql日期時間戳轉換爲JavaScript的日期格式](http://stackoverflow.com/questions/3075577/convert-mysql-datetime-stamp-into-javascripts-date -format) –

回答

5

的方式SQL創建datestrings(如用getdate())似乎從JavaScript處理日期時間字符串的方式不同。

Mozilla Devlopment網絡says datetime字符串可以在ISO 8601 format

此格式被列爲2011-10-10T14:48:00而您的SQL字符串看起來像2011-10-10 14:48:00

所有這一切需要做的事情,使之成爲JS有效的時間字符串是這樣做的T.

一種方法來替代空間將是

var dateTime = "2013-12-31 09:09:49"; 
var jsValidDateTime = dateTime.split(" ").join("T"); 
Date.parse(jsValidDateTime); //output: 1388498989000 

此信息有效。如Firefox 26和Internet Explorer 11.

+0

這適用於EcmaScript 5,所以更老的兄弟wsers可能不支持這一點。 –

相關問題