ホームページ  >  記事  >  ウェブフロントエンド  >  JSON.stringify が JSON_javascript スキルを変換するときの不正確な日付と時刻の解決策

JSON.stringify が JSON_javascript スキルを変換するときの不正確な日付と時刻の解決策

WBOY
WBOYオリジナル
2016-05-16 16:40:091786ブラウズ

JSON.stringify を呼び出してオブジェクトを対応する文字列に変換するときに、時間オブジェクトが含まれている場合、時間オブジェクトは現在の国と地域の時間ではなく国家標準時間 (ISO) に変換されます。コードは次のとおりです:

コードをコピーします コードは次のとおりです:

<スクリプト>
//var o = new Date();
//console.log(o.toString())//中国のタイムゾーン時間、形式は「水 6 月 11 2014 10:51:42 GMT 0800」
など //console.log(JSON.stringify(o)); //国際標準時 (ISO) を 8 時間短縮して出力します。形式は「2014-06-11T02:51:42.624Z」
などです。

JSON.stringify で日付オブジェクト Date を変換し、国際標準時間ではなく現在の国のタイムゾーンを返すようにしたい場合は、Date オブジェクトのプロトタイプの toJSON メソッドをオーバーライドしてカスタムの時刻形式を返すことができます。 、JSON.stringify がオブジェクトの Date The toJSON メソッドを呼び出すため、例は次のとおりです:

コードをコピーします コードは次のとおりです:

<スクリプト>
Date.prototype.toJSON = function () { return this.toLocaleString() }
var o = 新しい日付();
console.log(o.toString())//デフォルトの形式: "水曜日 6 月 11 2014 10:51:42 GMT 0800"
Console.log(JSON.stringify(o)); //カスタマイズされた現地時間: "2014 年 6 月 11 日 10:57:27"
を出力します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。