時間を取得する

   

現在時間を表示しているHPに出会うことがあります。そこで表示される時間は使っているコンピュータの時間です。コンピュータの時間を取得してHP上に表示するにはJavaScriptを使います。

JavaScriptではDateオブジェクトを使って時間を取得設定できます。手順は次のとおりです。

  1. newステートメントを使ってDateオブジェクトを生成します。
  2. さまざまなメソッドを使い、日付や時間の情報を取得する。
  3. 取得した情報を使い処理を行う。

西暦年、月日の取得

次のプログラムで年月日を取得し、表示できます。

<SCRIPT language="JavaScript">
  DD = new Date();
  Year = DD.getYear();
  Month = DD.getMonth() + 1;
  Day = DD.getDate();
  document.write(Year,"年",Month,"月",Day,"日");
</SCRIPT>

まず、次の文で新しいDateオブジェクトDDを作ります。

DD = new Date();

オブジェクトDDには日時に関する情報と、その情報を取り出したりする操作法が含まれていますl。

西暦年を取り出すときはDateオブジェクトのgetYear()メソッドを使います。このプログラムでは取り出した西暦年をYearという変数に代入しています。

Year = DD.getYear();

月の値を取得するメソッドgetMonthは0〜11までの値を返すので1を加算して正しい月の値にします。

Month = DD.getMonth() + 1;

最後に日にちをgetDate()メソッドで取り出します。

Day = DD.getDate();

このプログラムの実行結果を示します。

今日は「 」です。

西暦年はブラウザの種類やバージョンにより異なる事があります。

時間の取得

getYear()、getMonth()、getDate()とくれば、時間の取得はgetHours()、getMinutes()、getSecondsです。

年月日の表示と同じように時間を表示するプログラムです。

<SCRIPT language="JavaScript">
  DD = new Date();
  Hours = DD.getHours();
  Minutes = DD.getMinutes();
  Seconds = DD.getSeconds();
  document.write(Hours,"時",Minutes,"分",Seconds,"秒");
</SCRIPT>

実行すると

今、「 」です。

時計のように時間を動かす(FORMバージョン)

今、表示された時間はこのページを表示した瞬間の時間です。時計のように時間は変化しませんでした。これを時計のように動かすには一定間隔で時間表示を更新できればいいわけです。

この一定間隔で指定したプログラム(関数)を実行するメソッドがsetInterval()です。

このメソッドは繰り返し実行したい関数と、繰り返しの間隔をミリ秒単位で指定します。

  • 時間を表示する関数(DspClk)を定義します。function DspClk(){〜}
  • setInterval()メソッドで一定間隔で実行する関数と間隔を指定する。
<HTML>
<HEAD>
<SCRIPT language="JavaScript">
t = 0;

function DspClk() {
  DD = new Date();
  Hours = DD.getHours();
  Minutes = DD.getMinutes();
  Seconds = DD.getSeconds();
  status = Hours + "時" + Minutes + "分" + Seconds +"秒";
  document.ClkForm.Input.value = Hours + "時" + Minutes + "分" + Seconds +"秒";
}
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT language="JavaScript">
t = setInterval("DspClk()", 500);
</SCRIPT>
<FORM name="ClkForm">
  <INPUT type="text" name="Input">
</FORM>
上記プログラムを表示する

DOMを使って時計を表示

上の方法ではFORMを使っていましたが、今度はDOM(Document Object Model)を使って時計を表する方法を紹介します。

FORMバージョンのプログラムとほとんど同じですが表示部分だけが異なります。

  • 時間を表示する段落id="pt"を用意する
  • document.getElementByIdで時間表示をする要素を取得する
  • 取得した要素の値を時間で変更する
<SCRIPT language="JavaScript">
t = 0;

function DspClk() {
  DD = new Date();
  Hours = DD.getHours();
  Minutes = DD.getMinutes();
  Seconds = DD.getSeconds();
  DC = document.getElementById('pt');
  DC.firstChild.nodeValue = Hours + "時" + Minutes + "分" + Seconds +"秒";
}
</SCRIPT>
<SCRIPT language="JavaScript">
t = setInterval("DspClk()", 500);
</SCRIPT>
<P class="p1" id="pt">
What's time is it now?
</P>

上記プログラムを表示する

 

 
どこに書く
Hello World!
計算してみよう
時間を取得する
情報を取得する
カレンダー
画像を入れ替え
移動する段落
プルダウンメニューのアンカー