Форматы даты JavaScript


Оглавление

    Показать оглавление


Ввод даты в JavaScript

Обычно существует 3 типа форматов ввода даты в JavaScript:

ISO Date

«25 марта 2015 г.» (Международный стандарт)

Short Date

"25.03.2015"

Long Date

«25 марта 2015 г.» или «25 марта 2015 г.»

Формат ISO соответствует строгому стандарту JavaScript.

Других форматов нет. настолько четко определен и может зависеть от браузера.


Вывод даты JavaScript

Независимо от формата ввода, JavaScript (по умолчанию) выводит даты полностью. формат текстовой строки:

<script>document.write(new Date())

Даты ISO JavaScript

ISO 8601 — международный стандарт представления дат и раз.

Синтаксис ISO 8601 (ГГГГ-ММ-ДД) также является предпочтительным форматом даты в JavaScript:

Пример (полная дата)

const d = new Date("2015-03-25");

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript ISO Dates</h2>

<p id="demo"></p>

<script>
const d = new Date("2015-03-25");
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Вычисленная дата будет относиться к вашему часовому поясу.
В зависимости от вашего часового пояса результат выше будет меняться с 24 по 25 марта.



Даты ISO (год и месяц)

Даты ISO можно писать без указания дня (ГГГГ-ММ):

Пример

const d = new Date("2015-03");

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript ISO Dates</h2>

<p id="demo"></p>

<script>
const d = new Date("2015-03"); 
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Часовые пояса будут варьироваться в приведенном выше результате в период с 28 февраля по 1 марта.


Даты ISO (только год)

Даты ISO можно писать без месяца и дня (ГГГГ):

Пример

const d = new Date("2015");

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript ISO Dates</h2>

<p id="demo"></p>

<script>
const d = new Date("2015");
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Часовые пояса будут варьироваться в приведенном выше результате в период с 31 декабря 2014 г. по 1 января 2015 г.


Даты ISO (дата-время)

Даты ISO могут быть записаны с добавлением часов, минут и секунд. (ГГГГ-ММ-ДДТЧЧ:ММ:ССЗ):

Пример

const d = new Date("2015-03-25T12:00:00Z");

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript ISO Dates</h2>
<p>Separate date and time with a capital T.</p>
<p>Indicate UTC time with a capital Z.</p>

<p id="demo"></p>

<script>
const d = new Date("2015-03-25T12:00:00Z");
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Дата и время разделяются заглавной буквой Т.

Время UTC обозначается заглавной буквой Z.

Если вы хотите изменить время относительно UTC, удалите Z и добавьте +ЧЧ:ММ или -ЧЧ:ММ. вместо:

Пример

const d = new Date("2015-03-25T12:00:00-06:30");

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript ISO Dates</h2>
<p>Modify the time relative to UTC by adding +HH:MM or subtraction -HH:MM to the time.</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML =
new Date("2015-03-25T12:00:00-06:00");
</script>

</body>
</html>

UTC (всемирное координированное время) — это то же самое, что GMT (среднее время по Гринвичу).

Пропуск T или Z в строке даты и времени может дать разные результаты в разных браузерах.


Часовые пояса

При установке даты без указания часового пояса JavaScript будет использовать часовой пояс браузера.

При получении даты без указания часового пояса результат преобразуется в часовой пояс браузера.

Другими словами: если дата/время созданы в формате GMT (среднее время по Гринвичу), дата/время будут преобразованы в CDT (центральное летнее время США), если пользователь просматривает из центральной части США.


Короткие даты в JavaScript.

Короткие даты записываются в формате «ММ/ДД/ГГГГ» следующим образом:

Пример

const d = new Date("03/25/2015");

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>

<p id="demo"></p>

<script>
const d = new Date("03/25/2015");
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

ПРЕДУПРЕЖДЕНИЯ!

В некоторых браузерах месяцы или дни без ведущих нулей могут привести к ошибке:

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");

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>

<p id="demo"></p>

<script>
const d = new Date("Mar 25 2015");
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Месяц и день могут быть в любом порядке:

Пример

const d = new Date("25 Mar 2015");

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>

<p id="demo"></p>

<script>
const d = new Date("25 Mar 2015");
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

При этом месяц можно писать полностью (январь) или сокращенно (январь):

Пример

const d = new Date("January 25 2015");

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>

<p id="demo"></p>

<script>
const d = new Date("January 25 2015");
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Пример

const d = new Date("Jan 25 2015");

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>

<p id="demo"></p>

<script>
const d = new Date("Jan 25 2015");
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Запятые игнорируются. Имена не чувствительны к регистру:

Пример

const d = new Date("JANUARY, 25, 2015");

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>

<p id="demo"></p>

<script>
const d = new Date("JANUARY, 25, 2015");
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Ввод даты — анализ дат

Если у вас есть действительная строка даты, вы можете использовать Date.parse() для преобразования его в миллисекунды.

Date.parse() возвращает количество миллисекунд между датой и январем. 1 сентября 1970 года:

Пример

let msec = Date.parse("March 21, 2012");

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Date.parse()</h2>
<p>Date.parse() returns the number of milliseconds between the date and January 1, 1970:</p>

<p id="demo"></p>

<script>
const msec = Date.parse("March 21, 2012");
document.getElementById("demo").innerHTML = msec;
</script>

</body>
</html>

Затем вы можете использовать количество миллисекунд, чтобы преобразовать его в объект даты:

Пример

let msec = Date.parse("March 21, 2012");
const d = new Date(msec);

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Date.parse()</h2>
<p>Date.parse(string) returns milliseconds.</p>
<p>You can use the return value to convert the string to a date object:</p>

<p id="demo"></p>

<script>
let msec = Date.parse("March 21, 2012");
const d = new Date(msec);
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Полная ссылка на дату в JavaScript

Для получения полной информации о датах перейдите по ссылке:

Полная ссылка на дату в JavaScript.

Справочник содержит описания и примеры всех свойств Date и методы.