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

Patricia Arquette
リリース: 2024-11-01 07:29:30
オリジナル
807 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!