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