13
var date = new Date(1257397200000​);
document.write(date);
​

上記のコードを実行しましたWed Nov 04 2009 23:00:00 GMT-0600 (Central Standard Time)

異なるタイム ゾーンに基づいて日付オブジェクトを作成する方法を探していますThursday, November 5th 2009, 00:00:00 (GMT -5)

上記の 2 つのタイム ゾーンによって日付は異なりますが、同じ時点を表しています。私は CST にいますが、作成されたオブジェクトが CST を使用して生成されるのはなぜですか?

ありがとうございました。

4

1 に答える 1

18

いいえ、これらの日付は異なる時点を表していないため、違いはありません。両方とも を表しThu, 05 Nov 2009 05:00:00 GMTます。

DateJavaScript の object はタイムゾーンに依存せず、特定の時点を表すだけです。にタイム ゾーンが含まれているという事実Date.toString()は非常に誤解を招くものです。にはタイム ゾーン情報がありませんDate。エポックからのミリ秒単位のラッパーにすぎません。

表示されるタイム ゾーンは、OS/ブラウザーのロケールに基づいています。別のタイムゾーンでオブジェクトを作成することはできませんDategetUTC*()ブラウザーのタイムゾーンに依存しない値を取得するには、一連のメソッドを使用することを検討してください。

ところで、サンプルコードは次のように出力されます:

Thu Nov 05 2009 06:00:00 GMT+0100 (CET)

私のコンピュータ上で - これはまだ同じ時点です。

こちらもご覧ください

于 2012-07-25T18:58:28.067 に答える