Klasa Date jest wyposażona w wyjątkowo wszechstronny konstruktor. Można go wywołać na cztery sposoby.
Po pierwsze, konstruktor
Date()
wywołany bez parametrów zwraca obiekt Date zawierający aktualną datę i godzinę w lokalnej strefie czasowej. Oto przykład:
var now:Date = new Date();
Po drugie, wywołanie
Date()
z jednym parametrem liczbowym powoduje, że parametr ten zostanie potraktowany jako liczba milisekund, jaka upłynęła od 1 stycznia 1970 roku i na tej podstawie zostanie utworzony odpowiedni obiekt klasy Date. Przekazywana liczba milisekund liczona jest od 1 stycznia 1970 roku wg czasu UTC. Natomiast zwrócony obiekt Date zawiera wartości właściwe dla lokalnej strefy czasowej. Dopiero użycie metod obsługujących czas UTC umożliwia pobranie i ewentualne wyświetlenie czasu uniwersalnego. Tworząc obiekt Date na podstawie liczby milisekund, należy uwzględnić różnicę między czasem lokalnym a UTC. Poniższe instrukcje tworzą obiekt Date reprezentujący północ w dniu 1 stycznia 1970 roku według czasu 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);
Po trzecie, do konstruktora
Date()
można przekazać wiele parametrów liczbowych. Parametry te są traktowane odpowiednio jako rok, miesiąc, dzień, godzina, minuty, sekundy i milisekundy, a na ich podstawie tworzony jest odpowiedni obiekt Date. Przyjmuje się, że parametry określają czas lokalny, a nie czas UTC. Poniższa instrukcja tworzy obiekt Date reprezentujący północ rozpoczynającą 1 stycznia 2000 roku w lokalnej strefie czasowej:
var millenium:Date = new Date(2000, 0, 1, 0, 0, 0, 0);
Po czwarte, do konstruktora
Date()
można przekazać jeden ciąg znaków. Konstruktor podejmie próbę zinterpretowania tego ciągu jako daty i godziny, a następnie zwróci odpowiedni obiekt Date. W wypadku zastosowania tej techniki wskazane jest ujęcie wywołania konstruktora
Date()
w blok
try..catch
, co pozwoli wychwycić ewentualne błędy analizy. Konstruktor
Date()
jako parametr przyjmuje ciąg znaków w różnych formatach (wymienionych w
Skorowidzu języka ActionScript 3.0 dla platformy Adobe Flash
). Poniższa instrukcja inicjuje nowy obiekt Date przy użyciu ciągu znaków:
var nextDay:Date = new Date("Mon May 1 2006 11:30:00 AM");
Jeśli konstruktor
Date()
nie będzie mógł pomyślnie przeanalizować ciągu znaków, nie zgłosi wyjątku. Jednak wynikowy obiekt Date będzie zawierał niepoprawną wartość daty.