2009-08-18 6 views
9

getUTCFullYear()がjavascriptのgetFullYear()と異なる実際のケースはありますか?javascript関数getUTCFullYear()の必要性は何ですか?

同じことがのために行く:getMonth対

getUTCMonth()()

のgetDate対GETUTCDATE()()

私はここで何かが足りないのですか?

EDIT:

getUTCFullYear() documentationを参照してください。

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

+1

このリンクは私にとっては正しく動作しません。私はhttp://docs.oracle.com/en/で終わります。 – ADH

答えて

8

はい、新年ごろです。 TZが-12の場合は、12月12日午前0時から深夜12時の間に値が異なります。

9

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

日時をローカルタイムゾーンに設定すると便利なことがあります。時には、コンピュータのローカルタイムゾーンとは独立したタイムゾーンに日付と時刻を入れると便利な場合もあります。

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

だから、便宜上のことだと思います。

1

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

3

あなたがリストした関数は基本的に異なるタイムゾーンで時刻を報告するため、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日間は同じになります。

関連する問題