2011-12-04 6 views
1

JavaScriptの日付をフォーマットしようとしていますが、正しい日付を返すtoUTCString()を使用しない限り、dateコマンドは間違った日付を返しています。 関数に、getgetUTCは日付を取得する関数です。私はまた、さまざまなブラウザ(Chrome、Safari、FireFox)で試したことがありますが、Chromeのインスペクタでそれを行うと完全に機能するということはさらに紛らわしいものです。そして明らかに何かが欠けている?JS date()が正しくない日付を返しています

var d = new Date(1324141200000); 

// return "Sat, 17 Dec 2011 17:00:00 GMT" - Correct! 
alert(d.toUTCString()); 
// returns "6-11-2011" - Wrong! 
alert(d.getUTCDay() +'-'+ d.getUTCMonth() +'-'+ d.getUTCFullYear()); 

答えて

6

"getUTCDay()"関数は、曜日を返します。月は0から番号が付けられます。土曜日は週の6日目(少なくともJavaScriptの土地で)、11はゼロから数えて12番目の月です。

したがって、すべて正常です。

"d.getUTCDate()"で月の日を取得できます。

+0

ああ、私はあまりにも遅かった! +1 – RightSaidFred

+0

私は本当に明白な行方不明だったので、あなたの疲れて、頭痛があるときにコード化しないでください。助けてくれてありがとう! – Scott

1
d.getUTCDay() // day of week 

d.getUTCMonth() // zero based index 
1

代わりのgetUTCDay、あなたはgetUTCDateをしたいです。 getUTCMonthは0〜11を返します(0 = 1月)。仕様のSection 15.9.1が役に立ちますが、言語は重くなります。

0

使用 のgetFullYear() 機能の日を取得するために年の月を取得するには、 getMonth() 機能、および のgetDate() 機能を取得します。

+1

これらはUTC時間で結果を提供しません。 – RightSaidFred

+0

ああ。私はそれが宇土が何だったのか分からなかった。 –

関連する問題