Date.parse()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Статический метод Date.parse() разбирает строковое представление даты и возвращает временную метку.

В явном виде поддерживается только формат date time string. Другие форматы определяются реализацией и могут работать не во всех браузерах. Если необходимо обеспечить работу с большим количеством различных форматов, можно воспользоваться библиотекой.

Интерактивный пример

const unixTimeZero = Date.parse("01 Jan 1970 00:00:00 GMT");
const javaScriptRelease = Date.parse("04 Dec 1995 00:12:00 GMT");

console.log(unixTimeZero);
// Expected output: 0

console.log(javaScriptRelease);
// Expected output: 818035920000

Синтаксис

js
Date.parse(dateString)

Параметры

dateString

Строка в формате date time string. См. указанный источник для получения информации об использовании различных форматов.

Возвращаемое значение

Число, представляющее временную метку (англ. timestamp) заданной даты. Если dateString не удается преобразовать в правильную дату, то возвращается NaN.

Описание

Эта функция полезна для установки значений даты на основе строковых значений, например, совместно с методом setTime().

Поскольку parse() является статическим методом Date, его всегда нужно использовать как Date.parse(), а не как метод созданного вами объекта Date.

Примеры

Использование Date.parse()

Все следующие вызовы возвращают 1546300800000. В первом случае подразумевается время UTC, поскольку это только дата, а в остальных явно указывается часовой пояс UTC.

js
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 в локальном часовом поясе системы, поскольку в нем есть и дата, и время.

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

Нестандартные строки с датами

Примечание: Этот раздел описывает поведение, которое может различаться в зависимости от конкретной реализации.

Реализации обычно используют по умолчанию местный часовой пояс, если строка даты нестандартна. Для определённости мы будем считать, что в коде используется часовой пояс UTC.

js
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");
// 946684800000 в Chrome (Sat Jan 01 2000 00:00:00 GMT+0000)
// NaN в Firefox
// -62167219200000 в Safari (Sat Jan 01 0000 00:00:00 GMT+0000)

// Двузначное число, которое может быть месяцем
Date.parse("28");
// NaN в Chrome и Firefox
// -61283606400000 в Safari (Fri Dec 31 0027 23:58:45 GMT-0001)

// Двузначный год
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 00:00:00 GMT+0000)
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 во всех реализациях

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

Specification
ECMAScript® 2025 Language Specification
# sec-date.parse

Совместимость с браузерами

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
parse
ISO 8601 format

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Смотрите также