【发布时间】:2018-03-20 12:53:48
【问题描述】:
我有一个 JSON 对象返回内容块发布日期的 unix 时间戳。使用.toISOString() 时,此时间戳返回为无效日期,除非我将其乘以 1。
举个例子
let timestamp = item[index].date; // returns string of "1584632700000"
let invalidDate = new Date(timestamp).toISOString(); // returns invalid Date
let validDate = new Date(timestamp * 1).toISOString(); // returns valid (and correct) Date
这背后的原因是什么?
【问题讨论】:
-
new Date( string )将尝试解析字符串,而new Date( number )将占用 unix 时间跨度,timestamp * 1会将字符串转换为数字,以便按预期工作 -
您需要将字符串转换为时间戳
new Date(+timestamp)的数字 -
请考虑阅读MDN Date documentation。尤其是参数部分。
标签: javascript datetime unix-timestamp