JavaScript Формат дат
JavaScript Ввод даты
Обычно существует 3 типа форматов ввода даты в JavaScript:
Тип | Пример |
---|---|
ISO даты | "2015-03-25" (Международный стандарт) |
Краткий формат даты | "03/25/2015" |
Длинный формат даты | "Mar 25 2015" или "25 Mar 2015" |
Формат ISO соответствует строгим стандартам JavaScript.
Другие форматы не так хорошо определены и могут зависеть от браузера.
Вывод даты в JavaScript
Независимо от формата ввода, JavaScript (по умолчанию) выводит даты в формате полнотекстовой строки:
JavaScript ISO Даты
ISO 8601 - это международный стандарт для представления даты и времени.
Синтаксис ISO 8601 (YYYY-MM-DD) также является предпочтительным форматом даты JavaScript:
Вычисленная дата будет относиться к вашему часовому поясу.
В зависимости от вашего часового пояса приведенный выше результат будет варьироваться в период с 24 по 25 марта.
ISO Даты (год и месяц)
ISO Даты можно записывать без указания дня (YYYY-MM):
Часовые пояса будут отличаться от приведенного выше результата с 28 февраля по 1 марта.
ISO Даты (только год)
ISO Даты могут быть записаны без месяца и дня (YYYY):
В период с 31 декабря 2014 года по 1 января 2015 года часовой пояс будет отличаться от указанного выше.
ISO Даты (дата-время)
ISO Даты могут быть записаны с добавлением часов, минут и секунд (YYYY-MM-DDTHH:MM:SSZ):
Дата и время разделяются заглавной буквой T.
Время UTC определяется с заглавной буквы Z.
Если вы хотите изменить время относительно UTC, удалите Z и добавьте вместо него +HH:MM или -HH:MM (часы, минуты):
UTC (Universal Time Coordinated / всемирное координированное время) совпадает из GMT (Greenwich Mean Time / среднее время по Гринвичу).
Отсутствие T или Z в строке даты и времени может дать разные результаты в разных браузерах.
Временные зоны (Часовые пояса)
При установке даты без указания часового пояса JavaScript будет использовать часовой пояс браузера.
При получении даты без указания часового пояса результат конвертируется в часовой пояс браузера.
Другими словами: если дата / время созданы в GMT (среднее время по Гринвичу), дата / время будут преобразованы в CDT (дневное время в центральной части США), если пользователь просматривает из центральной части США.
JavaScript Короткие даты.
Короткие даты пишутся с синтаксисом "MM/DD/YYYY", следующим образом:
ПРЕДУПРЕЖДЕНИЯ !
В некоторых браузерах месяцы или дни без начальных нулей могут вызывать ошибку:
var d = new Date("2015-3-25");
Поведение "YYYY/MM/DD" является undefined (не определено).
Некоторые браузеры пытаются угадать формат. Некоторые вернут NaN.
var d = new Date("2015/03/25");
Поведение "DD-MM-YYYY" также undefined (не определено).
Некоторые браузеры пытаются угадать формат. Некоторые вернут NaN.
var d = new Date("25-03-2015");
JavaScript Длинные свидания.
Длинные даты чаще всего записываются с использованием синтаксиса "MMM DD YYYY", например:
Месяц и день могут быть в любом порядке:
И, месяц можно написать полностью (January), так и сокращенно (Jan):
Запятые игнорируются. Имена не чувствительны к регистру:
Ввод даты - Парсинг (анализ) дат
Если у вас есть допустимая строка даты, вы можете использовать этот Date.parse()
, метод для преобразования ее в миллисекунды.
Date.parse()
возвращает количество миллисекунд между датой и 1 января 1970 года:
Пример
var msec = Date.parse(" March 21, 2012");
document.getElementById("demo").innerHTML = msec;
Попробуйте сами »
Затем вы можете использовать количество миллисекунд, чтобы преобразовать его в объект даты:
Пример
var msec = Date.parse(" March 21, 2012");
var d = new Date(msec);
document.getElementById("demo").innerHTML = d;
Попробуйте сами »