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

如何将数据库返回的JavaScript日期字符串转换为Date对象并转可读格式?

解决JavaScript解析"/Date(时间戳)/"格式日期的问题

你遇到的问题根源很简单:你传给new Date()的是字符串类型的时间戳,而它需要的是数字类型的毫秒级时间戳,这才导致了"Invalid Date"错误。

直接给你两种靠谱的解决方法:

方法1:正则提取时间戳并转数字

用正则匹配出字符串里的数字部分,再转成数值类型传入new Date():

// 数据库返回的日期字符串
const dbDate = "/Date(1657756800000)/";
// 提取数字并转成整数
const timestamp = parseInt(dbDate.match(/\d+/)[0], 10);
// 生成合法的Date对象
const date = new Date(timestamp);
// 转成可读格式,比如YYYY-MM-DD HH:mm:ss
console.log(date.toLocaleString()); // 根据本地环境输出可读日期,或用toISOString()自定义格式

方法2:字符串截取转数字

如果确定格式固定是/Date(xxx)/,也可以直接截取字符串中间的时间戳部分,再转成数字:

const dbDate = "/Date(1657756800000)/";
// 从第6位开始截取,到倒数第2位结束(跳过"/Date("和")/")
const timestamp = Number(dbDate.slice(6, -2));
const date = new Date(timestamp);
// 示例:输出YYYY-MM-DD格式
console.log(date.toISOString().split('T')[0]); // 2022-07-14

补充个小技巧:可以用+运算符快速把字符串转成数字,写法更简洁:

const date = new Date(+dbDate.match(/\d+/)[0]);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 06:45:41