ホームページ  >  記事  >  ウェブフロントエンド  >  Chrome と Firefox で「new Date()」が UTC 文字列を異なるように解釈するのはなぜですか?

Chrome と Firefox で「new Date()」が UTC 文字列を異なるように解釈するのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-01 07:29:30808ブラウズ

Why Does `new Date()` Interpret UTC Strings Differently in Chrome and Firefox?

Chrome と Firefox の new Date() 動作の違い

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。