Класс date предназначен для работы с датами и временем. Возможные варианты использования - календари, всевозможные проверки, основывающиеся на датах, и т. п.
Диапазон возможных значений:
·
от 01.01.1970 до 01.01.2038 года;
·
от 00.00.0000 до 31.12.9999 года. [3.4.4]
Не нужно забывать, что в нашем календарном времени есть разрывы и нахлесты: во многих странах принято так называемое летнее время, когда весной часы переводят вперед, а осенью назад. Скажем, в Москве не было времени «02:00, 31 марта 2002», а время «02:00, 27 октября 2002» было дважды.
Числовое значение объекта класса date равно числу суток с EPOCH (01.01.1970 00:00:00, UTC) до даты, заданной в объекте. Этим значением полезно пользоваться для вычисления относительной даты, например:
# проверка "обновлен ли файл позже чем неделю назад?"
^if($last_update > $now-7){
новый
}{
старый
}
Число суток может быть дробным, скажем полтора дня = 1.5.
Обычно класс оперирует локальными датой и временем, однако можно узнать значение хранимой им даты/времени в произвольном часовом поясе, см. ^date.roll[TZ;…].
Для общения между компьютерами, работающими в разных часовых поясах, удобно обмениваться значениями даты/времени, не зависящими от пояса, - здесь очень удобен формат UNIX, представляющий собой число секунд, прошедших с EPOCH.
Форматы Unix и ISO 8601 можно использовать в JavaScript и ряде других языков сценариев, работающих в браузере.
Parser полностью поддерживает работу с UNIX-форматом дат.