- PR -

[JavaScript]getDayで取得する曜日について

1
投稿者投稿内容
kernel
常連さん
会議室デビュー日: 2005/10/05
投稿数: 22
投稿日時: 2006-01-01 18:10
あけましておめでとうございます。

JavaScriptの曜日取得で悩んでいます。
日付オブジェクトのgetDayメソッドで曜日を取得する場合、
0=日曜、1=月曜、2=火・・・となるはずだと思いますが、
戻り値が予想と違っています。

alert(new Date(2005,12,1).getDay()); --> 0が返る。
alert(new Date(2006,1,1).getDay()); --> 3が返る。
alert(new Date(2006,2,1).getDay()); --> 3が返る。

引数をシングルクウォーテーションやダブルクウォーテーションで
囲んだり、頭に0をつけても同じ結果です。

0=日曜、1=月曜、2=火・・・という認識は間違っていますか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-01-01 18:18
引用:

kernelさんの書き込み (2006-01-01 18:10) より:

0=日曜、1=月曜、2=火・・・という認識は間違っていますか?


間違っていません、合ってますよ。

ですので、new Date(2005, 12, 1) で得られたインスタンスを、
1 度変数に渡し、自分の意図した日付になっているかを確かめてみてください。

コード:

    var dt1 = new Date(2005, 12, 1);

    alert(dt1.getYear());
    alert(dt1.getMonth());
    alert(dt1.getDate());


_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
kernel
常連さん
会議室デビュー日: 2005/10/05
投稿数: 22
投稿日時: 2006-01-01 18:41
なるほど、わかりました。

日付オブジェクトの値の範囲が、0(1月)〜11(12月)なんですね。
つまり、2005年12月1日の場合は、
alert(new Date(2005,11,1).getDay());
としたところ、4を返してくれました。

じゃんぬねっとさん、ありがとうございます。
1

スキルアップ/キャリアアップ(JOB@IT)