JavaScript не имеет данных типа date. Однако, объект date и его методы позволяют работать с датами и временами в приложениях. Объект date имеет большое количество методов для установления, получения, и управления датами. Он не имеет никаких свойств.
JavaScript обрабатывает date очень похоже на обрабатывание в Java. Два языка имеют многие из тех же самых методов date, и оба языка сохраняютdate как число миллисекунд начиная с 1 января, 1970 00:00:00.
Создание объект date:
varName = new Date(parameters)
Где varName - имя переменной JavaScript для создаваемого объекта date; это может быть новый объект или свойства существующего объекта.
Параметры Date могут быть следующие:
· Ничего: создает сегодняшнюю дату и время. Например:
<script >
var todayDate = new Date();
document.write("Сегодня " + todayDate);
</script>
Рис. 7. Результат вывода текущей даты и времени
· Строка, представляющая дату в следующей форме: " Month day, year hours:minutes:seconds". Например, Xmas95= new Date("December 25, 2007 13:30:00"). Если опускается значение часов, минут, или секунд, то будет установлено значение нуль.
· Множество целых чисел для year, month, и day. Например, Xmas95 = new Date(2007,11,25)
· Множество значений для for year, month, day, hour, minute, и seconds. Например, Xmas07 = new Date(2007,11,25,9,30,0)
Объект Date имеет большое количество методов для обработки дат и времен. Методы относятся к этим широким категориям:
· "set" методы, для установки даты и времени в объектах date
· "get" методы, для получения значений даты и времени из объектов date
· "to" методы, для возвращающегося ряда из объектов date.
· Синтаксический анализ и UTC методы, для синтаксического анализа строковых date.
Методы "get" и "set" позволяют вам получать и управлять секундами, минутами, часами, днем месяца, днем недели, месяцами, и гадами отдельно. Имеется метод getDay, который возвращает день недели, но не соответствующий методу setDay, потому что день недели устанавливается автоматически. Эти методы используют целые числа, чтобы представить значения следующим образом:
· Секунды и минуты: от 0 до 59
· Часы: от 0 до 23
· День: от 0 до 6 (день недели)
· Дата: от 1 до 31 (день месяца)
· Месяцы: от 0 (январь) до 11 (декабрь)
· Год: годы начиная с 1900
Например, пусть вы определяете date следующим образом:
Xmas07 = new Date("December 25, 2007")
Затем Xmas07.getMonth () возвращает 11, и Xmas07.getYear () возвращает 2007.
Методы getTime и setTime полезны для сравнения дат. Метод getTime возвращает число миллисекунд начиная с периода для объекта даты.
Например, следующий код показывает сколько дней осталось до 8-го марта:
<script >
today = new Date();
nextMarch = new Date("March 8, 2008");
nextMarch.setYear(today.getYear());
msPerDay = 24 * 60 * 60 * 1000 ; // Количество милисекунд в дне
document.write("До следующего 8-го марта осталось: " + daysLeft+ " дня");
</script>
Рис.8. Результат работы программы
Этот пример создает объект date today, который содержит сегодняшнюю дату. Затем создается объект date nextMarch, устанавливающий год, текущего года. Затем, используя число миллисекунд в день, вычисляется число дней между today и nextMarch, используя getTime, и округляя до целого числа дней.