【发布时间】:2022-07-19 20:24:15
【问题描述】:
我使用 mongodb 作为我的数据库,在那个数据库中我有一个时间戳字段,但我没有看到任何类似的格式。其中一些是:
1657479170.7300725
1657479170.7301126
1657479170.7301197
1657479170.9120467
1657479170.932398
当我尝试将其转换为正常日期格式 (YYYY-MM-DD) 时,我得到了正确的日期。例如上面第一个时间戳的转换日期为:
10.07.2022 21:52:50
但是,当我尝试在 javascript 中转换它时,我得到:
1970-01-20 06:24:39
这绝对不是正确的值。
我的转换代码:
ConvH.forEach(conv => {
conv.tracker.events.forEach(element => {
console.log(parseFloat( parseFloat(element.timestamp.toFixed(4))), moment(new Date( parseFloat( element.timestamp.toFixed(4)))).format("YYYY-MM-DD HH:mm:ss"));
element.timestamp = new Date(element.timestamp).toLocaleString();
})
});
注意:new Date(element.timestamp).toLocaleString();给出同样的东西:/
【问题讨论】:
-
它认为您的日期是一个纪元日期(1970 年 1 月 1 日之后的毫秒数),这就是您的日期如此接近 1970 年的原因。如果这种格式不标准,您可能需要创建自己的解析器将其转换为所需的格式。
标签: javascript mongodb date timestamp