JavaScript Формати дати
JavaScript Введення дати
Зазвичай існує 3 типи форматів введення JavaScript дати:
Тип | Приклад |
---|---|
ISO Дата | "2022-03-18" (The International Standard / Міжнародний Стандарт) |
Коротка Дата | "03/18/2022" |
Довга дата | "Mar 18 2022" або "18 Mar 2025" |
ISO формат відповідає строгому стандарту в JavaScript.
Інші формати не так добре визначені та можуть залежати від браузера.
JavaScript Виведення дати
Незалежно від формату введення, JavaScript (за замовчуванням) буде виводити дати в форматі повнотекстового рядка:
JavaScript ISO Дати
ISO 8601 - міжнародний стандарт представлення дати та часу.
ISO 8601 синтаксис (YYYY-MM-DD) (рік-місяць-дата) також є переважним форматом JavaScript дати:
Розрахункова дата буде відноситись до вашої часової зони.
В залежності від вашої часової зони наведений вище результат буде варіюватися між 24 Березня та 25 Березня.
ISO Дати (Рік та Місяць)
ISO дати можна записувати без вказування дня (YYYY-MM):
Часові зони будуть відрізнятися від наведеного вище результату між 28 Лютого та 01 Березня.
ISO Дати (лише рік)
ISO дати можуть бути записані без місяця і дня (YYYY):
Часові зони будуть відрізнятися від наведеного вище результату між 31 Грудня 2014 року та 01 Січня 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 (Greenwich Mean Time), дата/час будуть конвертовані в CDT (Central US Daylight Time - Літній час в центральній частині США), якщо користувач переглядає із центральної частини США.
JavaScript Короткі дати
Коротки дати пишуться за допомогою синтаксису "MM/DD/YYYY" на зразок цього:
УВАГА!!
В деяких браузерах місяці або дні без початкових нулів можуть призводити до помилки:
const d = new Date("2024-3-25");
Поведінка "YYYY/MM/DD" ("РРРР/ММ/ДД") є невизначеною (undefined).
Деякі браузери намагатимуться вгадати формат. Деякі повернуть NaN.
const d = new Date("2024/03/25");
Поведінка "DD-MM-YYYY" ("ДД-ММ-РРРР") також невизначена (undefined).
Деякі браузери намагатимуться вгадати формат. Деякі повернуть NaN.
const d = new Date("25-03-2024");
JavaScript Довгі дати
Довгі дати найчастіше пишуться за допомогою синтаксису "MMM DD YYYY", як цей:
Місяць та день можуть бути в будь-якому порядку:
Місяць може бути написаний повністю (January), або скорочено (Jan):
Коми ігноруються. Назви не чутливі до регістру:
Введення дати - Парсинг дат
Якщо у вас є допустимий рядок дати, ви можете використовувати метод Date.parse()
, щоб конвертувати її в мілісекунди.
Date.parse()
поверне кількість мілісекунд між датою та 1 Січня 1970 року:
Ви можете потім використовувати кількість мілісекунд, щоб конвертувати їх в об’єкт дати:
Повний довідник JavaScript дати
Для більш детального ознайомлення з датами в JavaScript, відвідайте:
Повний довідник JavaScript Дати.
Довідник містить описи та приклади всіх властивостей та методів Дати.