2013-07-05 26 views
1

我需要我我json.stringify方法返回不同的值返回我是這樣的:JSON.stringify的日期

//The code below is the same as JSON.stringify(new Date()); 
console.log(new Date().toJSON()); 

這將返回我下面的:

"/Date(1373046760480-0300)/" 

這是罰款,但它發生在某些情況下,相同的操作返回給我這個:

"2013-07-05T17:52:55.434Z" 

這不是預期的結果,然後我必須創建字符串以獲得預期的結果。

有誰知道爲什麼會發生這種情況?

+1

什麼情況?據我所知,它總是返回後一個字符串。 – lonesomeday

+3

???在什麼情況下,你在哪個瀏覽器中獲得第一個字符串? –

+0

對於我console.log(new Date()。toJSON())在Chrome和Firefox中返回「2013-07-05T18:05:10.600Z」 –

回答

4

除非有人不小心(通過使用第三方庫)覆蓋Date.prototype.toJSON JSON日期的默認輸出是後者:

這裏的可能是什麼(用asp.net使用非標準實現)

Date.prototype.toJSON = function(){ return "/Date(" + this.getTime() + ")/" } 
+0

這就是這樣,sencha框架這樣做...謝謝我開始認爲我對js的日期知識很生疏! – martuanez