JavaScript toLocaleDateString()输出错误日期,求原因解析
问题原因及解决方法
问题原因
JavaScript 的 Date 构造函数接收的是毫秒级 Unix 时间戳(即从 1970 年 1 月 1 日 00:00:00 UTC 起计算的毫秒数),但你提供的 element.createdAt 值 1666344563 是秒级时间戳。
当你直接将这个秒级时间戳传入 new Date() 时,它会被当作毫秒数处理。1666344563 毫秒仅相当于约 27 分钟,对应日期就是 1970 年 1 月 1 日附近(根据你的时区显示为 20.01.1970)。
解决方法
将解析后的时间戳乘以 1000,把秒转换为毫秒即可:
new Date(parseInt(element.createdAt) * 1000).toLocaleDateString()
这样就能正确得到你期望的 21.10.2022 日期。
内容的提问来源于stack exchange,提问作者AlexMitDemBart
相关产品推荐
相关产品推荐

