This page was translated from English by the community.Learn more and join the MDN Web Docs community.
Дата
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since июль 2015 г..
* Some parts of this feature may have varying levels of support.
ОбъектыDate в JavaScript представляют момент времени в независимом от платформы формате. ОбъектDate содержит число миллисекунд, прошедших с полуночи (00:00:00 UTC) 1 января 1970 года (этот момент называют «эпохой Unix»).
In this article
Синтаксис
new Date();new Date(value);new Date(dateString);new Date(year, month[, day[, hour[, minute[, second[, millisecond]]]]]);
Примечание:ОбъектыDate могут быть созданы только путём вызова функцииDate в качестве конструктора: обычный вызов функции (то есть, без использования оператораnew) вернёт строку вместо объектаDate; в отличие от других объектных типов JavaScript, объектыDate не имеют литерального синтаксиса.
Параметры
Примечание:Если функцияDate вызывается в качестве конструктора с более, чем одним аргументом, значения, большие логического диапазона (например, 13 в качестве номера месяца или 70 для значения минут) «переметнутся» на соседние значения. Например, вызовnew Date(2013, 13, 1) эквивалентен вызовуnew Date(2014, 1, 1), оба создадут дату2014-02-01 (нумерация месяцев начинается с нуля). Тоже самое действует и для других значений: вызовnew Date(2013, 2, 1, 0, 70) эквивалентен вызовуnew Date(2013, 2, 1, 1, 10) — оба вызова создадут дату2013-03-01T01:10:00.
Примечание:Если функция Date вызывается в качестве конструктора с более чем одним аргументом, то указанные аргументы интерпретируются как локальное время. Если аргументы указывают время в UTC, используйтеnew Date( с теми же аргументами.Date.UTC(...))
valueЦелое значение, представляющее количество миллисекунд, прошедших с 1 января 1970 00:00:00 по UTC (эпохи Unix).
dateStringСтроковое значение, представляющее дату. Строка должна быть в одном из форматов, распознаваемых методом
Date.parse()(совместимые с IETF RFC 2822 временные метки [на английском,на русском], а также версия ISO8601 [на английском,на русском]).yearЦелое значение, представляющее год. Значения с 0 по 99 отображаются на года с 1900 по 1999. Смотритепример ниже.
monthЦелое значение, представляющее месяц, начинается с 0 для января и кончается 11 для декабря.
dayНеобязательный параметр. Целое значение, представляющее день месяца.
hourНеобязательный параметр. Целое значение, представляющее часы дня.
minuteНеобязательный параметр. Целое значение, представляющее минуты времени.
secondНеобязательный параметр. Целое значение, представляющее секунды времени.
millisecondНеобязательный параметр. Целое значение, представляющее миллисекунды времени.
Описание
- Если никаких аргументов передано не было, конструктор создаёт объект
Dateдля текущих даты и времени, согласно системным настройкам. - Если передано как минимум два аргумента, отсутствующие аргументы устанавливаются в стартовые значения - день месяца 1 и время полуночи.
- Дата в JavaScript измеряется в миллисекундах, прошедших с полуночи 1 января 1970 года по UTC. День содержит 86 400 000 миллисекунд. Диапазон дат объекта
Dateварьируется от -100 000 000 до 100 000 000 дней относительно 1 января 1970 года по UTC. - Объект
Dateобеспечивает универсальное поведение на всех платформах. Значение времени может передаваться между системами для представления одинакового момента во времени и, если оно используется для создания локального объекта даты, будет отражать местный эквивалент времени. - Объект
Dateподдерживает несколько методов для работы с UTC (всемирным координированным временем), наряду с методами работы с местным временем. UTC, также известное как среднее время по Гринвичу (GMT), ссылается на время, установленное Всемирным стандартом времени. Местное время — это время на компьютере, на котором выполняется JavaScript. - Вызов объекта
Dateв качестве функции (то есть, без использования оператораnew) вернёт строку, представляющую текущие дату и время.
Статические методы
Date.now()Возвращает числовое значение, соответствующее текущему времени — количество миллисекунд, прошедших с 1 января 1970 года 00:00:00 по UTC.
Date.parse()Разбирает строковое представление даты и возвращает количество миллисекунд с 1 января 1970 года 00:00:00 по местному времени.
Date.UTC()Принимает те же самые параметры, что и самый длинный вариант конструктора (то есть, от 2 до 7) и возвращает количество миллисекунд, прошедших с 1 января 1970 года 00:00:00 по UTC.
Свойства экземпляра
Эти свойства определены вDate.prototype и есть у всех экземпляровDate.
Date.prototype.constructorФункция-конструктор, создающая экземпляр объекта. Для экземпляров
Dateначальным значением является конструкторDate.
Примеры
>Пример: несколько способов создания объектаDate
Следующие примеры показывают несколько способов создания дат в #"December 17, 1995 03:24:00");var birthday = new Date("1995-12-17T03:24:00");var birthday = new Date(1995, 11, 17);var birthday = new Date(1995, 11, 17, 3, 24, 0);
Пример: двухциферный год отображается на 1900 - 1999 года
Для того, чтобы создать и получить даты между 0 и 99 годом, нужно использовать методыDate.prototype.setFullYear() иDate.prototype.getFullYear().
var date = new Date(98, 1); // Sun Feb 01 1998 00:00:00 GMT+0000 (GMT)// Устаревший метод, 98 отображается на 1998 годdate.setYear(98); // Sun Feb 01 1998 00:00:00 GMT+0000 (GMT)date.setFullYear(98); // Sat Feb 01 0098 00:00:00 GMT+0000 (BST)Пример: вычисление затраченного времени
Следующие примеры показывают, как определить разницу во времени между двумя датами в #"Затраченное время: " + String(nEndTime - nStartTime) + " миллисекунд", ); return vReturn;}yourFunctionReturn = printElapsedTime(yourFunction);