20

getUTCFullYear()がjavascriptのgetFullYear()と異なる実際のケースはありますか?

同じことが当てはまります:

getUTCMonth()とgetMonth()

getUTCDate()とgetDate()

ここで何かが足りませんか?

編集:

getUTCFullYear()のドキュメントを参照してください。

getUTCFullYear()がjavascriptのgetFullYear()と異なる実際のケースはありますか?

4

4 に答える 4

12

getUTC ...()メソッドは、UTCタイムゾーンの日付と時刻を返しますが、他の関数は、スクリプトが実行されているコンピューターのローカルタイムゾーンの日付と時刻を返します。

日付と時刻をローカルタイムゾーンに設定すると便利な場合もあれば、コンピュータのローカルタイムゾーンに依存しないタイムゾーンに日付と時刻を設定すると便利な場合もあります。

JavaScriptでタイムゾーンを変換する方法はいくつかありますが、面倒です。

だから、それは単に便宜のためだと思います。

于 2009-08-18T07:51:19.670 に答える
11

はい、年明けくらいです。TZ が -12 の場合、値は 12 月 31 日午前 0 時と午前 0 時の間で異なります。

于 2009-08-18T07:59:27.063 に答える
7

あなたがリストする機能は本質的に異なるタイムゾーンで時間を報告するので、グリニッジ子午線の西に住んでいる場合、それgetUTCFullYear()と異なる場合getFullYear()は12月31日の夜になります。

たとえば、ローカル タイムゾーンでは時刻が午後 9 時である可能性がありますが、UTC ではすでに 1 月 1 日の午前 2 時である可能性があるため、次のようになります。

var d = new Date();
d.getFullYear() == 2009  //True
d.getUTCFullYear() == 2010  //True

Dateメソッドは現在の UTC 時刻を報告するのではなく、オブジェクトに対して動作するため、混乱を招きます。しかし、メソッドは、これがここの時間である場合、UTC タイムゾーンで何年であるかを示します。したがって、2 つの方法で報告された年の 364.75 日は同じになります。

于 2009-08-18T08:00:51.023 に答える
1

12 月 31 日は 1 月 1 日になるため、これは世界のさまざまな地域でさまざまな時期に発生します。したがって、UTC 時間は、たとえばニュージーランドの現地時間とは異なります。したがって、ある時点で getFullYear() は getUTCFullYear() と 1 異なります。

于 2009-08-18T08:00:12.693 に答える