JavaScript объект Date позволяет работать с датами.
По умолчанию, JavaScript будет использовать временную зону браузера и отображать дату в виде полной текстовой строки: "Wed Oct 24 2018 10:48:26 GMT+0300".
Создание объектов Date
Объект Date создается при помощи конструктора new Date().
Существует 4 способа создания нового объекта даты:
new Date()
new Date(год, месяц, день, часы, минуты, секунды, миллисекунды)
new Date(миллисекунды)
new Date(строка даты)
new Date()
Конструктор new Date() создает новый объект даты с текущими датой и временем:
var d = new Date();
Внимание! Объект Date статичен. Время на компьютере продолжает идти, но объект даты не изменяется.
new Date(год, месяц, ...)
Конструктор new Date(год, месяц, ...) создает новый объект даты с заданными датой и временем.
7 числовых параметров определяют год, месяц, день, часы, минуты, секунды, миллисекунды (именно в таком порядке):
var d = new Date(2018, 11, 24, 10, 33, 30, 0);
Внимание! В JavaScript нумерация месяцев идет от 0 до 11. Январь - 0. Декабрь - 11.
6 числовых параметров определяют год, месяц, день, часы, минуты, секунды:
var d = new Date(2018, 11, 24, 10, 33, 30);
5 числовых параметров определяют год, месяц, день, часы, минуты:
var d = new Date(2018, 11, 24, 10, 33);
4 числовых параметров определяют год, месяц, день, часы:
var d = new Date(2018, 11, 24, 10);
3 числовых параметра определяют год, месяц, день:
var d = new Date(2018, 11, 24);
2 числовых параметра определяют год, месяц:
var d = new Date(2018, 11);
Внимание! Нельзя опускать параметр месяца. Если задается один параметр, то он будет интерпретироваться как миллисекунды.
var d = new Date(2018);
Предыдущий век
Если год указан в виде одной или двух цифр, то он интерпретируется как 19xx:
var d1 = new Date(99, 11, 24);
var d2 = new Date(9, 11, 24);
new Date(строка даты)
Конструктор new Date(строка даты) создает новый объект даты по специальной текстовой строке:
var d = new Date("October 13, 2014 11:13:00");
О строке даты будет рассказано в следующей главе.
JavaScript хранит дату в миллисекундах
JavaScript хранит даты в виде количества миллисекунд, прошедших с 1 января 1970, 00:00:00 UTC (универсальные координаты времени).
Нулевая дата — это 1 января 1970 00:00:00 UTC.
Сейчас у нас 1540367306081 миллисекунд с 1 января 1970.
new Date(миллисекунды)
Конструктор new Date(миллисекунды) создает новый объект даты как нулевая дата плюс количество заданных миллисекунд:
var d = new Date(0);
1 января 1970 плюс 100 000 000 000 миллисекунд даст 3 марта 1973:
var d = new Date(100000000000);
1 января 1970 минус 100 000 000 000 миллисекунд даст 31 октября 1966:
var d = new Date(-100000000000);
В сутках (24 часа) 86 400 000 миллисекунд.
Методы объекта Date
Когда объект Date создан, вы можете оперировать им при помощи его методов.
Методы объекта Date позволяют получать и устанавливать год, месяц, день, час, минуты, секунды и миллисекунды в объекте даты, используя как локальное время, так и UTC или GMT.
Методы объекта Date будут описаны в следующих главах.
Отображение даты
По умолчанию, JavaScript будет отображать дату в формате полной текстовой строки: Wed Mar 25 2015 03:00:00 GMT+0300.
Когда вы выводите объект даты в HTML, он автоматически преобразуется в строку при помощи метода toString().
Пример:
d = new Date();
document.getElementById("demo").innerHTML = d;
То же самое:
d = new Date();
document.getElementById("demo").innerHTML = d.toString();
Метод toUTCString() преобразует дату в строку UTC (стандарт отображения даты).
var d = new Date();
document.getElementById("demo").innerHTML = d.toUTCString();
Метод toDateString() преобразует дату в более читабельный формат:
var d = new Date();
document.getElementById("demo").innerHTML = d.toDateString();