从毫秒(13 位)转换时如何避免结果中出现 'Invalid date' 前缀

How to avoid 'Invalid date' prefix in result when converting from milliseconds (13 digits)

我正在转换从 json 获取的 13 位时间戳。除了一个 - 可读时间之前的前缀 Invalid Date 之外,一切似乎都正常。

代码如下:

var timestamp=new Date(event.feature.getProperty('updated'))
var humanTime=timestamp+Date(1970,1,1);

json 的更新值是“1432205083551”(13 位)。所以结果是:

Invalid DateTue May 26 2015 19:07:05 GMT+0700 (SE Asia Standard Time)

可读。一切似乎都是正确的,但它总是在每一行中以 Invalid Date 开头。请给我一些解释,以便我了解。

无效日期部分是因为第一个日期是使用字符串构造的。它应该是一个数字(可通过 parseInt() 获得)

var timestamp = new Date(parseInt(event.feature.getProperty('updated')))

旁注我不明白您使用 humanTime 变量的目的... event.feature.getProperty('updated') 似乎已经是自 1970 年以来的毫秒数。打印人类可读的时间戳可以只需调用 toString():

即可完成
alert(timestamp.toString())