ホームページ >ウェブフロントエンド >jsチュートリアル >Chrome と Firefox で日付文字列の変換が異なるのはなぜですか?

Chrome と Firefox で日付文字列の変換が異なるのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-29 10:47:291038ブラウズ

Why Does Date String Conversion Differ Between Chrome and Firefox?

Chrome と Firefox 間の日付文字列変換の不一致

new Date() を使用して日付文字列を Date オブジェクトに変換しようとすると、ユーザーはChrome と Firefox では結果が異なる場合があります。この不一致は、2 つのブラウザが UTC (協定世界時) を表す日付文字列をどのように解釈するかに起因します。

Firefox と Chrome の動作

Firefox では、コード var日付 = 新しい日付('2013-02-27T17:00:00'); 2013 年 2 月 27 日水曜日 17:00:00 GMT 0700 (東南アジア標準時) を返します。これは、Firefox が日付文字列が現地時間であると想定し、ブラウザのローカル タイムゾーンに変換するためです。

対照的に、Chrome は日付文字列を UTC として解釈し、Thu Feb 28 2013 00:00:00 GMT 0700 を返します。 (東南アジア標準時)。これは、日付文字列に UTC 時間を表す文字「Z」が欠落しているためです。

問題の修正

両方のブラウザが正しい UTC 日付を返すようにするには、次のようにします。日付文字列は正しくフォーマットされている必要があります。 UTC の正しい形式は YYYY-MM-DDTHH:MM:SSZ です。この場合、「2013-02-27T17:00:00」の末尾に欠落している「Z」を追加する必要があります。

コードを var date = new Date('2013-02) に修正することで、 -27T17:00:00Z'); の場合、Chrome と Firefox は両方とも、予想される UTC 日時、つまり 2013 年 2 月 28 日木 00:00:00 GMT 0700 (東南アジア標準時) を返します。

以上がChrome と Firefox で日付文字列の変換が異なるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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