Конструктор Date()

Створює екземпляр об'єкта JavaScript Date, який відображає єдиний момент часу у незалежному від платформи форматі. Об'єкти Date містять число, яке відображає кількість мілісекунд від 1 січня 1970 року (UTC).

Синтаксис

new Date()
new Date(value)
new Date(dateString)
new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]])

Заувага: Єдиним правильним способом створити новий екземпляр об'єкта Date є використання оператора new. Якщо ви просто викличете безпосередньо об'єкт Date, наприклад, так now = Date(), то повернеться рядок, а не об'єкт Date.

Параметри

Існують чотири основні форми конструктора Date():

  1. Без параметрів

    Коли не надано жодних параметрів, новостворений об'єкт Date відображає поточну дату та час на момент його створення.

  2. Значення часу або часова мітка

    value
    Ціле число, що відображає кількість мілісекунд від 1 січня 1970 року, 00:00:00 UTC (час ECMAScript, еквівалент часу UNIX), при цьому високосні секунди ігноруються. Пам'ятайте, що більшість функцій часової мітки UNIX мають точність лише до найближчої секунди.
  3. Рядок з часовою міткою

    dateString
    Рядкове значення дати, надане у форматі, що розпізнається методом Date.parse(). (Ці формати є часовими мітками стандарту RFC 2822, що відповідають IEНF, а також рядками у варіації формату ISO8601.)

    Заувага: Розбір рядків дати за допомогою конструктора Date (та методу Date.parse(), який працює так само) наполегливо не рекомендується через відмінності та невідповідності між переглядачами.

    • Підтримка формату рядків RFC 2822 є лише домовленістю.
    • Підтримка форматів ISO 8601 відрізняється в тому, що рядки, які містять лише дату (наприклад, "1970-01-01"), сприймаються як UTC, а не як локальний формат.
  4. Значення окремих компонентів дати та часу

    Маючи принаймні рік та місяць, ця форма Date() вертає об'єкт Date, чиї значення компонентів (рік, місяць, день, години, хвилини, секунди та мілісекунди) усі взяті з наступних параметрів. Будь-яким відсутнім полям надається найменше можливе значення (1 для дня (day) та 0 для усіх інших компонентів).

    year

    Ціле число, що відображає рік.

    Значення з 0 по 99 відповідають рокам з 1900 по 1999. Усі інші значення дорівнюють вказаному року.

    monthIndex
    Ціле число, що відображає місяць, починаючи з 0 для січня, по 11 для грудня.
    day Optional
    Ціле число, що відображає день місяця. За замовчуванням 1.
    hours Optional
    Ціле число, що відображає значення години. За замовчуванням 0 (північ).
    minutes Optional
    Ціле число, що відображає значення хвилин. За замовчуванням 0 хвилин з початку години.
    seconds Optional
    Ціле число, що відображає значення секунд. За замовчуванням 0 секунд з початку хвилини.
    milliseconds Optional
    Ціле число, що відображає значення мілісекунд. За замовчуванням 0 мілісекунд з початку секунди.

Приклади

Кілька способів створити об'єкт Date

Наступні приклади демонструють кілька способів створити дати JavaScript:

Заувага: Розбір рядків дати за допомогою конструктора Date (а також методу Date.parse, вони еквівалентні) наполегливо не рекомендується через відмінності та невідповідності між переглядачами.

let today = new Date()
let birthday = new Date('December 17, 1995 03:24:00')
let birthday = new Date('1995-12-17T03:24:00')
let birthday = new Date(1995, 11, 17)            // нумерація місяців починається з 0
let birthday = new Date(1995, 11, 17, 3, 24, 0)

Специфікації

Специфікація
ECMAScript (ECMA-262)
The definition of 'Date' in that specification.

Сумісність з веб-переглядачами

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
Date() constructorChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 3Opera Full support 3Safari Full support 1WebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 1Samsung Internet Android Full support 1.0nodejs Full support 0.1.100

Legend

Full support  
Full support

Див. також