ほとんどのコンピュータでは、内部にタイマーを持っており、それを基準として日時を計算します。
ここでベースに使われるのがエポックタイム(epoch time またはUnix時間) と呼ばれる数値で、
これは、1970 年 1 月 1 日 00:00:00からの経過時間です。
この数値は一般にミリ秒の単位で、この値をカプセル化して我々が使う年月日や時刻と変換する機能を
持たせたのがDateクラスです。
現在の日時は以下のようにnew Date()でオブジェクトを生成して得られ、それを表示する例を示します。
今日は、1970年1月1日午前0時から
ミリ秒経過しています。
上記 の部分は次のように書かれています。
<script language="javascript"> var d = new Date(); document.write( d.getTime() ); </script>
今日は、1970年1月1日午前0時から
ミリ秒経過しています。
Date.parse(Dateオブジェクトの文字列) を使って得ることもできます。
上記 の部分は次のように書かれています。
<script language="javascript"> var d = new Date(); document.write( Date.parse(d.toString()) ); </script>
今日は
です。
上記 の部分は次のように書かれています。
<script language="javascript"> var d = new Date(); document.write( d.toString() ); </script>
今日をグリニッジ標準時で表すと、
です。
上記 の部分は次のように書かれています。
<script language="javascript"> var d = new Date(); document.write( d.toGMTString() ); </script>
今日を東京のローカル時の文字列で表すと、
です。
上記 の部分は次のように書かれています。
<script language="javascript"> var d = new Date(); document.write( d.toLocaleString() ); </script>
今日を協定世界時文字列で表すと、
です。
上記 の部分は次のように書かれています。
<script language="javascript"> var d = new Date(); document.write( d.toUTCString() ); </script>
今年は、協定世界時(UTC: Coordinated Universal Time)で表すと、
です。
これを、9時間進ませると日本の時間になります。
上記 の部分は次のように書かれています。
<script language="javascript"> var d = new Date(); var str=d.getUTCFullYear() + "/"; str+=(d.getUTCMonth()+1) + "/"; //日本の月の数え方に合わせるには 1を加算します str+=d.getUTCDate() + "で"; str+=d.getUTCHours() + "時"; str+=d.getUTCMinutes() + "分"; str+=d.getUTCSeconds() + "秒"; document.write( str ); </script>
今年は、
です。
上記 の部分は次のように書かれています。
なお、get〜の取得メソッドに対して、set〜の設定メソッドが存在します。
例えば、10時に設定し直すなら d.setHours(10); と使います。
<script language="javascript"> var d = new Date(); var str=d.getFullYear() + "/"; str+=(d.getMonth()+1) + "/"; //日本の月の数え方に合わせるには 1を加算します str+=d.getDate() + "で"; str+=d.getHours() + "時"; str+=d.getMinutes() + "分"; str+=d.getSeconds() + "秒"; document.write( str ); </script>
指定の日時を設定したDataを生成する場合は、コンストラクタ引数で指定します。
コンストラクタとは、new クラスス名() の表現です。
以下のプロパティやメソッドがよく使われます。
例えば、2009年 9月 23日であれば、
new Date("Sep 23, 2009")で生成します。
です。
上記 の部分は次のように書かれています。
<script language="javascript"> var d = new Date("Sep 23, 2009"); document.write( d.toLocaleString() ); </script>
この日から1分経過後のDateオブジェクトを
表示すると、
になります。
この上記 の部分は次のように書かれています。
<script language="javascript"> var d = new Date("Sep 23, 2009"); var t = d.getTime(); // または、var t = Date.parse(d); t += 60 * 1000; // 1分増やす。 d.setTime(t); document.write( d.toLocaleString() ); </script>