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

如何将十六进制字符串(如0x63a4b534)转换为可读日期?代码尝试无效

十六进制时间戳转人类可读日期的正确方法

你的代码没效果,是因为Date构造函数不认"0x63a4b534"这种字符串格式。它只能解析标准日期字符串(比如"2022-12-25")或者毫秒级时间戳数值,而你传的十六进制字符串既不是标准日期格式,也不是数值类型的时间戳,所以解析失败。

正确的做法分两步:

  • 把十六进制字符串转成十进制的时间戳数值
  • 根据时间戳的单位(秒/毫秒)调整后,传入Date构造函数

针对你的十六进制值0x63a4b534,具体代码如下:

// 把十六进制字符串转成十进制秒级时间戳
const seconds = parseInt("0x63a4b534", 16);
// 转成Date需要的毫秒级时间戳,再生成日期
const readableDate = new Date(seconds * 1000).toLocaleDateString();

console.log(readableDate); // 输出对应本地时区的日期,比如"2022/12/25"

也可以写成一行简化版:

new Date(parseInt("0x63a4b534", 16) * 1000).toLocaleDateString();

补充说明:0x63a4b534转成十进制是1671991604,这是秒级时间戳(对应Unix时间,从1970年1月1日开始算的秒数),所以必须乘以1000转成毫秒,才能被Date正确识别。如果你的十六进制时间戳本身就是毫秒级的,就不用乘1000。

内容的提问来源于stack exchange,提问作者Furkan Öztürk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 06:15:45