Date.parse()

Статичний метод Date.parse() (розібрати) розбирає рядкове представлення дати й повертає її мітку часу.

Лише формат рядка дати та часу явно вказаний як такий, що підтримується. Інші формати залежать від реалізації й можуть не працювати на всіх браузерах. Якщо треба узгоджувати кілька різних форматів, може допомогти бібліотека.

Спробуйте його в дії

Синтаксис

Date.parse(dateString)

Параметри

dateString

Рядок у форматі рядка дати та часу. Дивіться застереження щодо використання різних форматів у довідці за посиланням.

Повернене значення

Число, що представляє мітку часу переданої дати. Якщо dateString не виходить розібрати як дійсну дату, повертається NaN.

Опис

Ця функція корисна для задання значень дати, заснованих на рядкових значеннях, наприклад, у поєднанні з методом setTime().

У зв'язку з тим, що parse() є статичним методом Date, викликається він завжди як Date.parse(), а не як метод самотужки створеного об'єкта Date.

Приклади

Використання Date.parse()

Усі наступні виклики повернуть 1546300800000. Перший зробить припущення про часовий пояс Всесвітнього координованого часу, оскільки вказана лише дата, а інші явно задають часовий пояс В.К.Ч..

Date.parse("2019-01-01");
Date.parse("2019-01-01T00:00:00.000Z");
Date.parse("2019-01-01T00:00:00.000+00:00");

Наступний виклик, котрий не вказує часовий пояс, призведе до 2019-01-01 00:00:00 в місцевому часовому поясі системи, тому що містить і дату, і час.

Date.parse("2019-01-01T00:00:00");

Нестандартні рядки дат

Примітка: Цей розділ містить залежну від реалізації логіку, котра може бути неоднаковою на різних реалізаціях.

Реалізації зазвичай використовують місцеву часову зону як усталену, коли рядок дати є нестандартним. З метою узгодженості ми будемо припускати, що код використовує часову зону В.К.Ч..

Примітка: Зміщення місцевої часової зони походить від системних налаштувань пристрою та застосовується до дати, що розбирається. Також на це може впливати літній час (DST) місцевої часової зони.

Date.parse("Jan 1, 1970"); // 0 у всіх реалізаціях

Date.parse("Thu, 01 Jan 1970 00:00:00"); // 0 у всіх реалізаціях

Date.parse("1970,1,1"); // 0 у Chrome і Firefox, NaN у Safari

Date.parse("02 01 1970");
// 2678400000 у Chrome і Firefox (Sun Feb 01 1970 00:00:00 GMT+0000);
// NaN у Safari

// З явною часовою зоною
Date.parse("Thu, 01 Jan 1970 00:00:00 GMT+0300");
// -10800000 у всіх реалізаціях у всіх часових зонах

// Одне число
Date.parse("0");
// NaN у Firefox ≤122
// 946684800000 у Chrome and Firefox ≥123  (Sat Jan 01 2000 00:00:00 GMT+0200 (Eastern European Standard Time));
// -62167219200000 у Safari (Sat Jan 01 0000 02:02:04 GMT+0202 (Eastern European Standard Time))

// Двоцифрове число, котре може бути місяцем
Date.parse("28");
// NaN у Chrome і Firefox
// -61283606400000 у Safari (Sat Jan 01 0028 02:02:04 GMT+0202 (Eastern European Standard Time))

// Двоцифровий рік
Date.parse("70/01/01"); // 0 у всіх реалізаціях

// Компоненти дати поза межами допустимих значень
Date.parse("2014-25-23"); // NaN у всіх реалізаціях
Date.parse("Mar 32, 2014"); // NaN у всіх реалізаціях
Date.parse("2014/25/23"); // NaN у всіх реалізаціях

Date.parse("2014-02-30");
// NaN у Safari
// 1393718400000 у Chrome і Firefox (Sun Mar 02 2014 02:00:00 GMT+0200 (Eastern European Standard Time))
Date.parse("02/30/2014"); // 1393718400000 у всіх реалізаціях

// Chrome, Safari та Firefox від 122 версії розбирають лише перші три літери місяця.
// FF121 і раніші версії розбирають перші літери і все, що далі, поки не вийде коректна назва місяця.
Date.parse("04 Dec 1995"); // 818031600000 у всіх реалізаціях
Date.parse("04 Decem 1995"); // 818031600000 у всіх реалізаціях
Date.parse("04 December 1995"); // 818031600000 у всіх реалізаціях
Date.parse("04 DecFoo 1995"); // NaN у Firefox до 121 версії включно. 818031600000 у решті реалізацій
Date.parse("04 De 1995"); // NaN у всіх реалізаціях

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

Сумісність із браузерами

desktop mobile server
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet Deno Node.js
parse
Chrome Full support 1
Edge Full support 12
Firefox Full support 1
Internet Explorer Full support 3
Opera Full support 3
Safari Full support 1
WebView Android Full support 1
Chrome Android Full support 18
Firefox for Android Full support 4
Opera Android Full support 10.1
Safari on iOS Full support 1
Samsung Internet Full support 1.0
Deno Full support 1.0
Node.js Full support 0.10.0
ISO 8601 format
Chrome Full support 6
Edge Full support 12
Firefox Full support 4
Internet Explorer Full support 9
Opera Full support 6
Safari Full support 5.1
WebView Android Full support 37
Chrome Android Full support 18
Firefox for Android Full support 4
Opera Android Full support 10.1
Safari on iOS Full support 5
Samsung Internet Full support 1.0
Deno Full support 1.0
Node.js Full support 0.12.0

Дивіться також