Date.prototype.toString()

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

toString() 方法,属于 Date 实例,返回一个表示此日期根据本地时区解析后的字符串。

试一试

const event = new Date("August 19, 1975 23:15:30");

console.log(event.toString());
// Expected output: "Tue Aug 19 1975 23:15:30 GMT+0200 (CEST)"
// Note: your timezone may vary

语法

js
toString()

参数

无。

返回值

表示给定日期的字符串(格式请参见说明)。如果日期 无效,则返回 "Invalid Date"

描述

toString() 方法是 类型转换协议 的一部分。由于 Date 对象有一个 [Symbol.toPrimitive]() 方法,因此当 Date 对象被隐式 转换为字符串 时,该方法始终优先于 toString()。然而,Date.prototype[Symbol.toPrimitive]() 在内部仍会调用 this.toString()

Date 对象重写了 ObjecttoString() 方法。Date.prototype.toString() 返回根据本地时区解析的日期字符串表示形式,包含日期和时间 — 它将 toDateString()toTimeString() 的字符串表示连接起来,中间加一个空格。例如:“Thu Jan 01 1970 00:00:00 GMT+0000 (Coordinated Universal Time)”。

Date.prototype.toString() 必须在 Date 实例上调用。如果 this 值不是继承自 Date.prototype,则会抛出 TypeError

  • 如果只想获取日期部分,请使用 toDateString()
  • 如果只想获取时间部分,请使用 toTimeString()
  • 如果希望日期根据 UTC 而非本地时区进行解析,请使用 toUTCString()
  • 如果希望以更友好的格式(例如,本地化)显示日期,请使用 toLocaleString()

示例

使用 toString()

js
const d = new Date(0);
console.log(d.toString()); // "Thu Jan 01 1970 00:00:00 GMT+0000 (Coordinated Universal Time)"

规范

规范
ECMAScript® 2026 语言规范
# sec-date.prototype.tostring

浏览器兼容性

另见