new Date() コンストラクターを使用して日付文字列を Date オブジェクトに変換しようとすると、動作が異なる場合があります。ブラウザごとに異なります。これは、UTC (協定世界時) の日付文字列を扱う場合に特に顕著です。
提供されたコード スニペットでは:
var date = new Date('2013-02-27T17:00:00'); alert(date);
Chrome は入力文字列を現地時間として解釈し、それに基づいて調整します。ブラウザのタイムゾーンに合わせて。この場合、時刻は現地時間の 2013 年 2 月 28 日の午前 12:00 と解釈されます。一方、
Firefox は文字列を UTC 時間として解析し、それに応じて表示します。この場合、時刻は 2013 年 2 月 27 日の午後 5 時 (GMT 7:00) として正しく表示されます。
ブラウザ間で一貫した動作を保証するには、日付文字列を正しい UTC で指定することが重要です。形式。 UTC の標準化された形式は ISO 8601 です。これには、UTC 時間を示す「Z」接尾辞が含まれます:
2013-02-27T17:00:00Z
入力に「Z」を追加する文字列を指定すると、Chrome と Firefox の両方が日付文字列を UTC 時間として解釈し、同じ出力が得られます:
var date = new Date('2013-02-27T17:00:00Z'); alert(date);
出力:
水曜日 2013 年 2 月 27 日 17:00 :00 GMT 0700 (東南アジア標準時)
以上がChrome と Firefox で「new Date()」が UTC 文字列を異なるように解釈するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。