此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

Date.prototype.valueOf()

基线 广泛可用

自 2015年7月 起,此特性已在主流浏览器中得到支持,可在大多数设备和浏览器版本中正常使用。

Date 实例的 valueOf() 方法用于返回自纪元(即协调世界时 1970 年 1 月 1 日零点)以来的毫秒数。

尝试一下

const date1 = new Date(Date.UTC(96, 1, 2, 3, 4, 5));

console.log(date1.valueOf());
// 预期输出:823230245000

const date2 = new Date("02 Feb 1996 03:04:05 GMT");

console.log(date2.valueOf());
// 预期输出:823230245000

语法

js
valueOf()

参数

无。

返回值

一个数字,表示该日期的时间戳,单位为毫秒。如果该日期无效,则返回 NaN

描述

valueOf() 方法是强制类型转换机制的一部分。由于 Date 拥有 [Symbol.toPrimitive]() 方法,当 Date 对象被隐式转换为数字时,该方法总是优先于 valueOf()。不过,Date.prototype[Symbol.toPrimitive]() 在内部仍会调用 this.valueOf()

Date 对象重写了 valueOf() 方法(该方法来自 Object)。Date.prototype.valueOf() 返回该日期的时间戳,其功能上等同于 Date.prototype.getTime() 方法。

示例

使用 valueOf()

js
const d = new Date(0); // 1970-01-01T00:00:00.000Z
console.log(d.valueOf()); // 0

规范

规范
ECMAScript® 2027 Language Specification
# sec-date.prototype.valueof

浏览器兼容性

参见