Date.parse()

基线 广泛可用

此功能已完善,可在许多设备和浏览器版本中使用。它已在浏览器中可用,自 2015 年 7 月.

Date.parse() 静态方法分析日期的字符串表示形式,并返回日期的时间戳

仅明确指定支持日期时间字符串格式。其他格式是实现定义的,可能并非在所有浏览器中都能正常工作。如果要适应许多不同的格式,库可以提供帮助。

试一试

语法

js
Date.parse(dateString)

参数

dateString

一个日期时间字符串格式的字符串。有关使用不同格式的注意事项,请参阅链接的参考。

返回值

表示给定日期时间戳的数字。如果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 时区。

注意:本地时区偏移来自设备的系统设置,然后应用于正在解析的日期。本地时区的夏令时 (DST) 也可能对此产生影响

js
Date.parse("Jan 1, 1970"); // 0 in all implementations

Date.parse("Thu, 01 Jan 1970 00:00:00"); // 0 in all implementations

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

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

// With explicit timezone
Date.parse("Thu, 01 Jan 1970 00:00:00 GMT+0300");
// -10800000 in all implementations in all timezones

// Single number
Date.parse("0");
// NaN in Firefox ≤122
// 946684800000 in Chrome and Firefox ≥123  (Sat Jan 01 2000 00:00:00 GMT+0000);
// -62167219200000 in Safari (Sat Jan 01 0000 00:00:00 GMT+0000)

// Two-digit number that may be a month
Date.parse("28");
// NaN Chrome and Firefox
// -61283606400000 in Safari (Fri Dec 31 0027 23:58:45 GMT-0001)

// Two-digit year
Date.parse("70/01/01"); // 0 in all implementations

// Out-of-bounds date components
Date.parse("2014-25-23"); // NaN in all implementations
Date.parse("Mar 32, 2014"); // NaN in all implementations
Date.parse("2014/25/23"); // NaN in all implementations

Date.parse("2014-02-30");
// NaN in Safari
// 1393718400000 in Chrome and Firefox (Sun Mar 02 2014 00:00:00 GMT+0000)
Date.parse("02/30/2014"); // 1393718400000 in all implementations

// Chrome, Safari, and Firefox 122 and later parse only the first three letters for the month.
// FF121 and earlier parse first three letters and any substring up to the correct month name.
Date.parse("04 Dec 1995"); // 818031600000 in all implementations
Date.parse("04 Decem 1995"); // 818031600000 in all implementations
Date.parse("04 December 1995"); // 818031600000 in all implementations
Date.parse("04 DecFoo 1995"); // NaN in Firefox 121 and earlier. 818031600000 in other implementations
Date.parse("04 De 1995"); // NaN in all implementations

规范

规范
ECMAScript 语言规范
# sec-date.parse

浏览器兼容性

BCD 表仅在启用了 JavaScript 的浏览器中加载。

另请参阅