- JavaScript Date Objects
- Examples
- Note
- JavaScript Date Output
- Creating Date Objects
- JavaScript new Date()
- Example
- new Date(date string)
- Examples
- new Date(year, month, . )
- Example
- Note
- Using 6, 4, 3, or 2 Numbers
- Example
- Example
- Example
- Example
- Example
- Example
- Previous Century
- Example
- Example
- JavaScript Stores Dates as Milliseconds
- new Date(milliseconds)
- Examples
- Date Methods
- Displaying Dates
- Example
- Example
- Example
- Example
- Example
- Complete JavaScript Date Reference
- Дата
- Параметры
- Описание
- Свойства
- Методы
- Экземпляры объекта Date
- Методы
- Примеры
- Пример: несколько способов создания объекта Date
- Пример: двухциферный год отображается на 1900 — 1999 года
- Пример: вычисление затраченного времени
- Получить количество секунд с начала эпохи Unix
- Спецификации
- Совместимость с браузерами
- Found a content problem with this page?
JavaScript Date Objects
JavaScript Date Objects let us work with dates:
Examples
Note
Date objects are static. The «clock» is not «running».
The computer clock is ticking, date objects are not.
JavaScript Date Output
By default, JavaScript will use the browser’s time zone and display a date as a full text string:
You will learn much more about how to display dates, later in this tutorial.
Creating Date Objects
Date objects are created with the new Date() constructor.
There are 9 ways to create a new date object:
new Date()
new Date(date string)
new Date(year,month)
new Date(year,month,day)
new Date(year,month,day,hours)
new Date(year,month,day,hours,minutes)
new Date(year,month,day,hours,minutes,seconds)
new Date(year,month,day,hours,minutes,seconds,ms)
JavaScript new Date()
new Date() creates a date object with the current date and time:
Example
new Date(date string)
new Date(date string) creates a date object from a date string:
Examples
Date string formats are described in the next chapter.
new Date(year, month, . )
new Date(year, month, . ) creates a date object with a specified date and time.
7 numbers specify year, month, day, hour, minute, second, and millisecond (in that order):
Example
Note
JavaScript counts months from 0 to 11:
Specifying a month higher than 11, will not result in an error but add the overflow to the next year:
Specifying a day higher than max, will not result in an error but add the overflow to the next month:
Using 6, 4, 3, or 2 Numbers
6 numbers specify year, month, day, hour, minute, second:
Example
5 numbers specify year, month, day, hour, and minute:
Example
4 numbers specify year, month, day, and hour:
Example
3 numbers specify year, month, and day:
Example
2 numbers specify year and month:
Example
You cannot omit month. If you supply only one parameter it will be treated as milliseconds.
Example
Previous Century
One and two digit years will be interpreted as 19xx:
Example
Example
JavaScript Stores Dates as Milliseconds
JavaScript stores dates as number of milliseconds since January 01, 1970.
Zero time is January 01, 1970 00:00:00 UTC.
One day (24 hours) is 86 400 000 milliseconds.
Now the time is: milliseconds past January 01, 1970
new Date(milliseconds)
new Date(milliseconds) creates a new date object as milliseconds plus zero time:
Examples
01 January 1970 plus 100 000 000 000 milliseconds is:
January 01 1970 minus 100 000 000 000 milliseconds is:
January 01 1970 plus 24 hours is:
01 January 1970 plus 0 milliseconds is:
Date Methods
When a date object is created, a number of methods allow you to operate on it.
Date methods allow you to get and set the year, month, day, hour, minute, second, and millisecond of date objects, using either local time or UTC (universal, or GMT) time.
Date methods and time zones are covered in the next chapters.
Displaying Dates
JavaScript will (by default) output dates using the toString() method. This is a string representation of the date, including the time zone. The format is specified in the ECMAScript specification:
Example
When you display a date object in HTML, it is automatically converted to a string, with the toString() method.
Example
The toDateString() method converts a date to a more readable format:
Example
The toUTCString() method converts a date to a string using the UTC standard:
Example
The toISOString() method converts a date to a string using the ISO standard:
Example
Complete JavaScript Date Reference
For a complete Date reference, go to our:
The reference contains descriptions and examples of all Date properties and methods.
Дата
Примечание: объекты 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).
Строковое значение, представляющее дату. Строка должна быть в одном из форматов, распознаваемых методом Date.parse() (совместимые с IETF RFC 2822 временные метки [на английском, на русском], а также версия ISO8601 [на английском, на русском]).
Целое значение, представляющее год. Значения с 0 по 99 отображаются на года с 1900 по 1999. Смотрите пример ниже.
Целое значение, представляющее месяц, начинается с 0 для января и кончается 11 для декабря.
Необязательный параметр. Целое значение, представляющее день месяца.
Необязательный параметр. Целое значение, представляющее часы дня.
Необязательный параметр. Целое значение, представляющее минуты времени.
Необязательный параметр. Целое значение, представляющее секунды времени.
Необязательный параметр. Целое значение, представляющее миллисекунды времени.
Описание
- Если никаких аргументов передано не было, конструктор создаёт объект 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 .
Значение свойства Date.length равно 7. Это количество аргументов, обрабатываемых конструктором.
Методы
Возвращает числовое значение, соответствующее текущему времени — количество миллисекунд, прошедших с 1 января 1970 года 00:00:00 по UTC.
Разбирает строковое представление даты и возвращает количество миллисекунд с 1 января 1970 года 00:00:00 по местному времени.
Принимает те же самые параметры, что и самый длинный вариант конструктора (то есть, от 2 до 7) и возвращает количество миллисекунд, прошедших с 1 января 1970 года 00:00:00 по UTC.
Экземпляры объекта Date
Все экземпляры объекта Date наследуются от Date.prototype (en-US). Объект прототипа конструктора Date может быть изменён, чтобы затронуть все экземпляры объекта Date .
Методы
Примеры
Пример: несколько способов создания объекта Date
Следующие примеры показывают несколько способов создания дат в JavaScript:
Примечание: разбор строкового представления дат с помощью конструктора Date (так же как эквивалентный ему метод Date.parse ) может иметь различия и несоответствия в браузерах.
var today = new Date(); var birthday = new 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)
Пример: вычисление затраченного времени
Следующие примеры показывают, как определить разницу во времени между двумя датами в JavaScript:
// Используя объекты Date var start = Date.now(); // Событие, для которого замеряется время, происходит тут: doSomethingForALongTime(); var end = Date.now(); var elapsed = end - start; // затраченное время в миллисекундах
// Используя встроенные методы var start = new Date(); // Событие, для которого замеряется время, происходит тут: doSomethingForALongTime(); var end = new Date(); var elapsed = end.getTime() - start.getTime(); // затраченное время в миллисекундах
// Проверяет функцию и возвращает её возвращаемое значение function printElapsedTime(fTest) var nStartTime = Date.now(), vReturn = fTest(), nEndTime = Date.now(); console.log('Затраченное время: ' + String(nEndTime - nStartTime) + ' миллисекунд'); return vReturn; > yourFunctionReturn = printElapsedTime(yourFunction);
Примечание: в браузерах, поддерживающих высокое временное разрешение с помощью API замера производительности, метод Performance.now() может обеспечить более надёжные и точные замеры затраченного времени, нежели метод Date.now() .
Получить количество секунд с начала эпохи Unix
var seconds = Math.floor(Date.now() / 1000);
В этом случае важно возвращать только целое число (так что простое деление не подойдёт), а также возвращать только фактически прошедшие секунды (поэтому этот код использует Math.floor () а не Math.round () ).
Спецификации
Совместимость с браузерами
BCD tables only load in the browser
Found a content problem with this page?
This page was last modified on 13 мая 2023 г. by MDN contributors.
Your blueprint for a better internet.