2012-06-10 36 views
0

我使用的JavaScript JSON.stringify函數與替代品(第二個參數)以某種方式來格式化日期值:的JavaScript Json.stringify替代品的值轉換爲字符串

var s = JSON.stringify(data, function (key, value) { 
      if (key === "") return value; 
      if (jQuery.type(value) === "date") return "Date(" + value.getTime() + ")"; 
      return value; 
     }); 

我有有效日期時間值我的對象「數據」。但是,使用此值執行替換函數時,日期時間值將自動轉換爲字符串,因此jQuery.type(value)=「string」而不是「date」。

在我調用stringify之前,我可以簡單地替換值對象中的所有日期時間值,但我不希望修改原始數據。

這是代替函數應該如何表現或這是IE的一個奇怪的功能(我使用IE9)?我怎麼能解決這個問題?

回答

4

嘗試

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

沒有替代品。

+0

你是一個天才。謝謝。 – Preli