Klassen Date innehåller en av de mest mångsidiga konstruktormetoderna av alla huvudklasser. Du kan anropa den på fyra olika sätt.
För det första, om inga parametrar anges, returnerar konstruktorn
Date()
ett Date-objekt med aktuellt datum och aktuell tid (lokal tid, baserat på tidszonen). Här är ett exempel:
var now:Date = new Date();
För det andra, om en enda numerisk parameter anges, behandlar konstruktorn
Date()
det som antalet millisekunder sedan 1 januari 1970 och returnerar ett motsvarande Date-objekt. Observera att det millisekundvärde du anger behandlas som antal millisekunder sedan 1 januari 1970 i universaltid (UTC). Däremot visar Date-objektet värden i din lokala tidszon, såvida du inte använder UTC-specifika metoder för att hämta och visa dem. Om du skapar ett nytt Date-objekt med hjälp av en enda millisekundsparameter måste du ta hänsyn till tidzonsskillnaden mellan lokal tid och UTC-tid. I följande kod skapas ett Date-objekt angivet som midnatt den 1 januari 1970, i 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);
För det tredje kan du skicka flera numeriska parametrar till konstruktorn
Date()
. Den behandlar parametrarna som år, månad, dag, timma, minut, sekund och millisekund samt returnerar motsvarande Date-objekt. Dessa indataparametrar antas vara i lokal tid, inte i UTC. Med följande kod hämtas ett Date-objekt angivet som midnatt den 1 januari 2000, i lokal tid:
var millenium:Date = new Date(2000, 0, 1, 0, 0, 0, 0);
För det fjärde kan du skicka en enstaka strängparameter till konstruktorn
Date()
. Den försöker tolka strängen som datum- eller tidskomponenter och returnerar sedan ett motsvarande Date-objekt. När du använder det här sättet kan det vara bra att infoga konstruktorn
Date()
i ett
try..catch
-block för att fånga upp tolkningsfel. Konstruktorn
Date()
har stöd för ett antal olika strängformat (som finns listade i
Referenshandbok för ActionScript 3.0 i Adobe Flash-plattformen
). Med följande kodsats initieras ett nytt Date-objekt med ett strängvärde:
var nextDay:Date = new Date("Mon May 1 2006 11:30:00 AM");
Om konstruktorn
Date()
inte kan tolka strängparametern genereras inget undantag. Däremot kommer resulterande Date-objekt att innehålla ett ogiltigt datumvärde.