Из всех ключевых классов класс Date обладает одним из наиболее гибких методов конструкторов. Его можно вызвать четырьмя способами.
Во-первых, если у конструктора
Date()
нет параметров, он возвращает объект, содержащий текущие дату и время по местному часовому поясу. Вот пример:
var now:Date = new Date();
Во-вторых, если у конструктора
Date()
только один числовой параметр, то им исчисляется количество миллисекунд с 1 января 1970 г., в результате чего метод возвращает соответствующий объект Date. Обратите внимание, что значение в миллисекундах — это количество миллисекунд с 1 января 1970 г. в формате UTC. Тем не менее, объект Date выводит значения по местному времени, кроме случаев, когда используются методы вывода значений в формате UTC. При создании нового объекта Date с помощью единственного параметра milliseconds не забывайте о разнице между своим часовым поясом и UTC. Следующие инструкции создают объект Date, установленный на полночь 1 января 1970 г. в формате 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, установленный на полночь 1 января 2000 г. по местному времени:
var millenium:Date = new Date(2000, 0, 1, 0, 0, 0, 0);
В-четвертых, можно передать конструктору
Date()
единую строку-параметр. Он будет пытаться разобрать эту строку на компоненты даты и времени, а затем возвратить соответствующий объект Date. При использовании этого подхода рекомендуется включать конструктор
Date()
в блок
try..catch
для отлавливания ошибок разбора. Конструктор
Date()
принимает различные форматы строк (они перечислены в
cправочнике ActionScript® 3.0 для платформы Adobe® Flash® Platform
). Следующая инструкция инициализирует новый объект Date с помощью строкового значения:
var nextDay:Date = new Date("Mon May 1 2006 11:30:00 AM");
Если конструктору
Date()
не удается разобрать строку-параметр, он не генерирует исключение. Тем не менее, получившийся объект Date будет содержать неверное значение даты.