- Home ›
- JavaScript入門 ›
- Dateクラス ›
- HERE
コンストラクタ関数
Dateクラスのコンストラクタ関数は4つが用意されています。
Date() Date(ms) Date(str) Date(year, month[, day, hour, min, sec, ms])
Dateクラスのオブジェクトを生成します。 パラメータ: ms 日付と時刻をミリ秒で指定 str 日付と時刻を表す文字列で指定 year 年 month 月 day 日 hour 時 min 分 sec 秒 ms ミリ秒
Dateクラスのオブジェクトを作成するコンストラクタ関数です。Dateクラスのオブジェクトは日付と時刻に関する情報を持ちますが、用意された4つのコンストラクタを使うことで初期値を設定することができます。
引数を省略してDateコンストラクタ関数を呼び出すと、現在の日付と時刻でオブジェクトを作成します。
var d = new Date();
引数にミリ秒の値を整数で指定した場合、1970年1月1日0時0分0秒(UTC)を起点とした、そこから指定したミリ秒が経過した日時と時刻でオブジェクトを作成します。
var d = new Date(18000);
引数に文字列を指定した場合、日時と時刻を表している文字列として解釈し、その日時と時刻でオブジェクトを作成します。どのような形式ならいいということは定められていません。
var d = new Date("2009/08/10 14:24:32")
最後に日時と日付に関する値を個々に設定してオブジェクトを作成する場合です。
var d = new Date(2009, 8, 10, 14, 24, 32, 800)
特に指定しなければUTCではなく現時時間に基づいた日時と時刻として扱われます。
各項目と設定可能な値は次の通りです。
項目 | 値 | 必須 |
---|---|---|
年 | 4桁の数値。2009年なら2009。2桁の数値の場合は1900を加算 | 必須 |
月 | 0から11までの数値。1月が0で12月が11なので注意が必要 | 必須 |
日 | 1~31までの数値 | オプション(省略時は1) |
時 | 0から23までの数値。午前0時が0で午後11時が23 | オプション(省略時は0) |
分 | 0から59までの数値 | オプション(省略時は0) |
秒 | 0から59までの数値 | オプション(省略時は0) |
ミリ秒 | 0から999までの数値(1秒=1000ミリ秒) | オプション(省略時は0) |
年と月は必須ですが、それ以外の項目はオプションです。またここで指定した値はUTCではなく現地時間に基づいて指定された値として扱われます。
Dateクラスのコンストラクタ関数をnew演算子を付けずに関数として呼び出すと、現在の日付と時刻を表す文字列を返します。
var str = Date();
引数に値を指定しも無視されますので注意して下さい。
Dateコンストラクタ関数ではプロパティとしてDate.UTCメソッドとDate.parseメソッドが定義されています。詳しくは「Date.UTCメソッド」と「Date.parseメソッド」を参照して下さい。
では簡単なサンプルで試してみます。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>JavaScript テスト</title> </head> <body> <script type="text/javascript" src="./js/script1_1.js"> </script> </body> </html>
function print(str){ document.write(str + "<br />"); } document.write("<p>"); print(new Date()); print(new Date(18000)); print(new Date("2009/08/10 14:24:32")); print(new Date("2009/08/10 14:24:32 GMT-0800")); print(new Date("2009/08/10 14:24:32 UTC-0800")); print(new Date(2005, 3)); document.write("</p>");
上記を実際にブラウザ見てみると次のように表示されます。
( Written by Tatsuo Ikura )