Date 類別可說是所有核心類別當中,用途最廣的建構函式方法之一。您可以用四種不同方式叫用這個類別。
首先,如果不提供參數,
Date()
建構函式會傳回 Date 物件,其中包含目前日期和時間,以您的時區的本地時間表示。以下是範例:
var now:Date = new Date();
第二,如果指定一個數字參數,
Date()
建構函式會將該數字視為是自 1970 年 1 月 1 日起算的毫秒數,然後傳回相對應的 Date 物件。請注意,您所傳遞的毫秒值會視為是自 1970 年 1 月 1 日 (UTC) 起算的毫秒數。但是,Date 物件會以您的本地時區來表示值,除非您使用 UTC 專屬方法來擷取和顯示值。如果是使用單一毫秒參數來建立新的 Date 物件,請務必將您的本地時間與 UTC 的時差列入計算。下列陳述式會建立 Date 物件,設為 1970 年 1 月 1 日當天午夜 (UTC):
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);
第三,您可以將多個數字參數傳遞至
Date()
建構函式。建構函式會將這些參數分別視為年、月、日、時、分、秒及毫秒,然後傳回相對應的 Date 物件。這些輸入參數會假設是以本地時間而非 UTC 來表示。下列陳述式會取得 Date 物件,設為 2000 年 1 月 1 日開始的午夜 (本地時間):
var millenium:Date = new Date(2000, 0, 1, 0, 0, 0, 0);
第四,您可以將單一字串參數傳遞至
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 物件會包含無效的日期值。