Get to know MDN better
This page was translated from English by the community. Learn more and join the MDN Web Docs community.
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»).
Примечание: Объекты 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(...)) с теми же аргументами.
Целое значение, представляющее количество миллисекунд, прошедших с 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Необязательный параметр. Целое значение, представляющее миллисекунды времени.
Возвращает числовое значение, соответствующее текущему времени — количество миллисекунд, прошедших с 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.
Следующие примеры показывают несколько способов создания дат в JavaScript:
Примечание: Разбор строкового представления дат с помощью конструктора Date (так же как эквивалентный ему метод Date.parse) может иметь различия и несоответствия в браузерах.
Для того, чтобы создать и получить даты между 0 и 99 годом, нужно использовать методы Date.prototype.setFullYear() и Date.prototype.getFullYear().
Следующие примеры показывают, как определить разницу во времени между двумя датами в JavaScript:
Примечание: В браузерах, поддерживающих высокое временное разрешение с помощью API замера производительности, метод Performance.now() может обеспечить более надёжные и точные замеры затраченного времени, нежели метод Date.now().
В этом случае важно возвращать только целое число (так что простое деление не подойдёт), а также возвращать только фактически прошедшие секунды (поэтому этот код использует Math.floor () а не Math.round ()).
| ECMAScript® 2027 Language Specification # sec-date-objects |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 17 дек. 2024 г. by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.