Date クラスは、すべてのコアクラスの中で最も多くの用途に使用できるコンストラクターメソッドを備えています。 このコンストラクターは次のように 4 つの方法で使用できます。
(1)パラメーターを指定しない場合、
Date()
コンストラクターでは、動作環境のタイムゾーンにおけるローカル時間で現在の日付と時刻を格納した Date オブジェクトを返します。次に、その例を示します。
var now:Date = new Date();
(2)1 つの数値パラメーターを指定した場合、
Date()
コンストラクターはその値を 1970 年 1 月 1 日からの経過ミリ秒数として解釈し、それに基づいた Date オブジェクトを返します。パラメーターは UTC の 1970 年 1 月 1 日を起点とする経過ミリ秒数として解釈されますが、 返される Date オブジェクトが示す値は、(UTC 用メソッドを使用して取得および表示しない限り) ローカルのタイムゾーンで表示されます。 ミリ秒数を表す 1 個のパラメーターを指定して Date オブジェクトを新規作成する際は、ローカル時間と UTC の間のタイムゾーンの時差に注意してください。 次のステートメントでは、UTC の 1970 年 1 月 1 日の深夜を表す Date オブジェクトを作成します。
var millisecondsPerDay:int = 1000 * 60 * 60 * 24;
// gets a Date one day after the start date of 1/1/1970
var startTime:Date = new Date(millisecondsPerDay);
(3)複数の数値パラメーターを
Date()
コンストラクターに渡すこともできます。その場合、コンストラクターでは各パラメーターを順に年、月、日、時、分、秒、ミリ秒の値と解釈し、それらに基づいた Date オブジェクトを返します。 パラメーターの値は UTC ではなくローカル時間を表すものと見なされます。 次のステートメントでは、ローカル時間の 2000 年 1 月 1 日午前 0 時を表す Date オブジェクトを作成します。
var millenium:Date = new Date(2000, 0, 1, 0, 0, 0, 0);
(4)1 つのストリングパラメーターを
Date()
コンストラクターに渡した場合、コンストラクターではそのストリングを解析して日付と時刻の要素を抽出しようと試み、それらに基づいた Date オブジェクトを返します。 このアプローチを使用する場合は、
Date()
コンストラクターを
try..catch
ブロックで囲んで、解析エラーをトラップします。
Date()
コンストラクターでは、様々なストリング形式を使用できます(『
Adobe Flash Platform 用 ActionScript 3.0 リファレンスガイド
』のリストを参照)。次のステートメントでは、新しい Date オブジェクトの初期化にストリング値を使用しています。
var nextDay:Date = new Date("Mon May 1 2006 11:30:00 AM");
Date()
コンストラクターがストリングパラメーターの解析に失敗した場合、例外が発生するのではなく、作成した Date オブジェクトに無効な日付値が格納されます。