1

javascript JSON.stringify関数を置換(2番目のパラメーター)とともに使用して、特定の方法で日付値をフォーマットしています。

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

オブジェクト「data」に有効な日時の値があります。ただし、replacer関数がこの値で実行されると、日時値は自動的に文字列に変換されるため、jQuery.type(value)= "string"であり、"date"ではなくなります。

stringifyを呼び出す前に、value-objectのすべての日時値を単純に置き換えることができますが、元のデータを変更したくないのです。

これは置換機能がどのように動作するか、またはこれはIEの奇妙な機能ですか(私はIE9を使用しています)?どうすればこの問題を解決できますか?

4

1 に答える 1

5

試す

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

リプレイスメントなし。

于 2012-06-10T12:23:19.740 に答える