You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中将ISO 8601日期转换为/Date(时间戳)/格式?

解决ISO 8601日期转/Date(时间戳)/格式的问题

先给你揪出代码里的问题:Date.parseDate并不是JavaScript原生的API,这就是你现有代码无法运行的核心原因!下面我给你详细讲原生JS的实现方法,完美适配你提到的9999-12-31T00:00:00Z这类日期。

核心思路

要完成转换只需要两步:

  • 把ISO 8601格式的日期字符串解析成JavaScript的Date对象,再提取出毫秒级时间戳
  • 把时间戳拼接成/Date(时间戳)/的目标格式

完整代码示例

var datevalue = '9999-12-31T00:00:00Z';
// 1. 解析日期并获取毫秒时间戳
var timestamp = new Date(datevalue).getTime();
// 2. 拼接成目标格式
var converteddate = `/Date(${timestamp})/`;

// 测试输出:/Date(25340227200000)/
console.log(converteddate);

细节说明

  • new Date(datevalue):原生JS的Date构造函数完全支持解析带Z后缀的UTC格式ISO 8601字符串,包括你提到的9999-12-31T00:00:00Z这种远期日期(JS的Date对象最多能处理到275760年,完全没问题)
  • .getTime():返回从1970-01-01T00:00:00 UTC到目标日期的毫秒数,这正是我们需要放在/Date()里的数值
  • 如果担心兼容性,也可以用Date.parse(datevalue)来获取时间戳,但new Date().getTime()的可靠性更高,在旧浏览器里的表现更稳定

内容的提问来源于stack exchange,提问作者Mohammad Irshad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:07:14