Форматы даты JavaScript
Ввод даты JavaScript
Обычно существует 3 типа форматов ввода даты в JavaScript:
Тип | Пример |
---|---|
Дата ISO | «2015-03-25» (Международный стандарт) |
Короткая дата | "25.03.2015" |
Длинная дата | «25 марта 2015 г.» или «25 марта 2015 г.» |
Формат ISO соответствует строгим стандартам JavaScript.
Другие форматы не так четко определены и могут зависеть от браузера.
Вывод даты JavaScript
Независимо от формата ввода, JavaScript (по умолчанию) выводит даты в формате полной текстовой строки:
Sat Jan 29 2022 23:53:21 GMT+0000 (Coordinated Universal Time)
ISO-даты JavaScript
ISO 8601 — это международный стандарт представления даты и времени.
Синтаксис ISO 8601 (ГГГГ-ММ-ДД) также является предпочтительным форматом даты в JavaScript:
Пример (Полная дата)
const d = new Date("2015-03-25");
Вычисленная дата будет относиться к вашему часовому поясу.
В зависимости от вашего часового пояса приведенный выше результат будет варьироваться между 24 и 25 марта.
Даты ISO (год и месяц)
Даты ISO можно записывать без указания дня (ГГГГ-ММ):
Пример
const d = new Date("2015-03");
Часовые пояса будут отличаться от указанного выше результата в период с 28 февраля по 1 марта.
Даты ISO (только год)
Даты ISO можно записывать без месяца и дня (ГГГГ):
Пример
const d = new Date("2015");
Часовые пояса будут отличаться от указанных выше результатов в период с 31 декабря 2014 г. по 1 января 2015 г.
Даты ISO (дата-время)
Даты ISO могут быть записаны с добавлением часов, минут и секунд (ГГГГ-ММ-ДДЧЧ:ММ:ССЗ):
Пример
const d = new Date("2015-03-25T12:00:00Z");
Дата и время разделяются заглавной Т.
Время UTC обозначается заглавной буквой Z.
Если вы хотите изменить время относительно UTC, удалите Z и вместо этого добавьте +ЧЧ:ММ или -ЧЧ:ММ:
Пример
const d = new Date("2015-03-25T12:00:00-06:30");
UTC (всемирное скоординированное время) — это то же самое, что и GMT (среднее время по Гринвичу).
Отсутствие T или Z в строке даты и времени может привести к разным результатам в разных браузерах.
Часовые пояса
При установке даты без указания часового пояса JavaScript будет использовать часовой пояс браузера.
При получении даты без указания часового пояса результат конвертируется в часовой пояс браузера.
Другими словами: если дата/время созданы в формате GMT (время по Гринвичу), дата/время будут преобразованы в CDT (центральное летнее время США), если пользователь просматривает сайт из центральной части США.
Короткие даты JavaScript.
Короткие даты записываются с синтаксисом «ММ/ДД/ГГГГ» следующим образом:
Пример
const d = new Date("03/25/2015");
ПРЕДУПРЕЖДЕНИЕ!
В некоторых браузерах месяцы или дни без начальных нулей могут привести к ошибке:
const d = new Date("2015-3-25");
Поведение «ГГГГ/ММ/ДД» не определено.
Некоторые браузеры попытаются угадать формат. Некоторые вернут NaN.
const d = new Date("2015/03/25");
Поведение «ДД-ММ-ГГГГ» также не определено.
Некоторые браузеры попытаются угадать формат. Некоторые вернут NaN.
const d = new Date("25-03-2015");
Длинные даты JavaScript.
Длинные даты чаще всего записываются с синтаксисом «МММ ДД ГГГГ» следующим образом:
Пример
const d = new Date("Mar 25 2015");
Месяц и день могут быть в любом порядке:
Пример
const d = new Date("25 Mar 2015");
А месяц можно писать полностью (январь) или сокращенно (январь):
Пример
const d = new Date("January 25 2015");
Пример
const d = new Date("Jan 25 2015");
Запятые игнорируются. Имена нечувствительны к регистру:
Пример
const d = new Date("JANUARY, 25, 2015");
Ввод даты — анализ дат
Если у вас есть допустимая строка даты, вы можете использовать
Date.parse()
метод для преобразования ее в миллисекунды.
Date.parse()
возвращает количество миллисекунд между датой и 1 января 1970 года:
Пример
let msec = Date.parse("March 21, 2012");
Затем вы можете использовать количество миллисекунд, чтобы преобразовать его в объект даты:
Пример
let msec = Date.parse("March 21, 2012");
const d = new Date(msec);
Полная ссылка на дату JavaScript
Для получения полной справки по дате перейдите по ссылке:
Полный справочник дат JavaScript .
Справочник содержит описания и примеры всех свойств и методов Date.