目次

オブジェクトなJavaScriptの基礎講座

Date(時間)オブジェクト

◆ 概説

new演算子とDate()関数にて作成した変数は、Dateオブジェクトになります。

Dateオブジェクトのメソッドは、以下の通りです。ちなみに、プロパティは無いようです。

Dateオブジェクトのメソッド

  getDate           : 日を返す(1~31)
  getDay            : 曜日を返す(0~6)
  getHours          : 時間を返す(0~23)
  getMinutes        : 秒を返す(0~59)
  getMonth          : 月を返す(0~11)
  getSeconds        : 秒を返す(0~59)
  getTime           : 1970年1月1日0時0分0秒からの経過時間をミリ秒単位で返す
  getTimezoneOffset : グリニッジ標準時(GTM)とローカル時間の差を分単位で返す
  getYear           : 年を返す
  parse             : 指定された日付と時間と1970年1月1日0時0分0秒との間の時間をミリ単位で返す
  setDate           : 日付の設定をする
  setHours          : 時間の設定をする
  setMinutes        : 分の設定をする
  setMonth          : 月の設定をする
  setSeconds        : 秒の設定をする
  setTime()         : ミリ秒単位で日付けと時間の設定をする 
  setYear           : 年の設定をする 
  toGMTString       : 日付けと時間をグリニッジ標準時(GTM)の文字列に変換する
  toLocaleString    : 日付けと時間をローカルタイムの文字列で返す
  UTC               : 1970年1月1日0時0分0秒からの経過時間をグリニッジ標準時(GTM)を基にミリ秒単位で返す
  eval              : 文字列を数値に変える
  toString          : オブジェクトを文字列に変える 

例、テキストボックスに誕生日を入力し、それまでの日数を、テキストエリアに表示する。

<p>
<script type="text/javascript">
     function dsp(){
        var today = new Date();
        var birthday;
        var geta;
      
        geta = 0;
        if(navigator.appName == "Netscape"){
           geta = 1900;
        }

        birthday = new Date(today.getYear()+geta, 
                            document.TestForm.birthmm.value - 1,
                            document.TestForm.birthdd.value);
  
        d = (birthday.getTime() - today.getTime())/(24*60*60*1000);
        d = Math.ceil(d);
    
        if (d < 0){
            var birthday = new Date(today.getYear()+ geta + 1, 
                                    document.TestForm.birthmm.value - 1,
                                    document.TestForm.birthdd.value);

            nd = (birthday.getTime() - today.getTime())/(24*60*60*1000);
            nd = Math.ceil(nd);
            document.TestForm.Result.value = "来年の誕生日まであと" + nd + "日";
        }
        else{
            if (d == 0){
                document.TestForm.Result.value = "誕生日おめでとう!!";
            }
            else{
                document.TestForm.Result.value = "誕生日まであと" + d + "日";
            } 
        }
     }     
</script>
</p>
<form name="TestForm">
<p>
誕生の月:<INPUT TYPE="text" NAME="birthmm" SIZE=2><br>
誕生の日:<INPUT TYPE="text" NAME="birthmm" SIZE=2>
<INPUT TYPE="button" VALUE="Dateオブジェクトのテスト" onClick="dsp()">
</p>
</form>
補足説明

Date関数は、実はオブジェクトのコンストラクタで、オブジェクトを生成し、 引数で指定した時間が設定されます。(引数がなければ現在時間設定)

xxxx = new Date(year, month, day[,hours, minutes, seconds])

例の処理結果

誕生の月:
誕生の日:

ブラウザのバージョンによって不正動作する事があります。
JavaScriptはブラウザの種類やバージョンによって動作がことなる言語です。特に日付関係は...。

目次