Step.18 - 誕生日の曜日を取得する


年月日を入力してその日の曜日を取得します。自分の生まれた日の曜日を知っている人は結構少ないと思います。
ホームページの隅にでも「あなたの誕生日の曜日をお答えします」なんてコーナーを作ると意外と利用してくれるかも知れません。


Step テーマ
● Date( year, month, date ) 日付指定

実行例


生年月日 (西暦)



リスト


<script type="text/javascript"><!--
function mySet(){
    myWeekTbl = new Array( "日","月","火","水","木","金","土" );
    myDate = new Date( document.myF.myY.value, document.myF.myM.value-1, document.myF.myD.value );
    myWeek = myDate.getDay();
    document.myF.myMes.value = "あなたは" + myWeekTbl[myWeek] + "曜日に生まれました";
}
// --></script>

<form name="myF">生年月日 (西暦)
<input type="text" size="4" name="myY">年
<input type="text" size="2" name="myM">月
<input type="text" size="2" name="myD">日
<input type="button" value="OK" onclick="mySet()">
<input type="text" size="30" name="myMes">
</form>


サンプルだけの HTMLは こちらへ

説明


Date() オブジェクトは、現在の日付を取得するだけではありません。
パラメータに日付を指定すると、その日の日付情報を戻します。

Date()のパラメータは たくさんの種類(書式)があります。今回はその中の1つを使います。

[書式] myDate = new Date( 年, 月-1, 日 );

[例] myDate = new Date( 1998, 11, 31 );

上の例では 1998/12/31 00:00:00.000 の日付情報を myDate に取り込みます。

月は 1 を引いてください。JavaScript は、月は 0月〜 11月という表現をします。
時間もセットしたければ、new Date( 年, 月-1, 日, 時, 分, 秒, ミリ秒 ) と指定します。

あとは、曜日を取得するだけです。
myWeek = myDate.getDay( );


サンプルは非常にシンブルに作っています。
入力ミスや入力漏れチェックがありませんので、if 文とか、alert とかを使って エラー処理をいれてみましょう。


● 参考ステップ
Step.3 現在の日付と時間を表示してみましょう 
Step.19 誕生日から何日経過したか計算してみましょう 
Step.48 実施日から何日経過したかカウントアップしてみましょう 
Step.49 予定日まであと何日かカウントダウンしてみましょう 
Step.69 来年へのカウントダウンを表示してみましょう 
Step.91 本日の行事を表示してみましょう 
Step.97 明日の行事を表示してみましょう 

● リファレンス
Array
Date
getDay

古臭い履歴


● Date()オブジェクトに1970年1月1日をパラメータで送るとエラーが発生してブラウザが強制終了する。
    Netscape Communicator 4.05 (Win/Mac)
    Netscape Communicator 4.04
    Netscape Navigator 3.03Gold

● 1970/1/1以前の日付を取得できない。それ以前の日付をセットしても、1970/1/1になってしまう。
    IE3