从毫秒到不同时间的Unix时间戳的转换会给出相同的结果

Conversion from milliseconds to Unix Timestamp from different times gives same result

本文关键字:结果 转换 Unix 同时间 时间戳      更新时间:2023-09-26

我有两个变量:

tempTimeRequests timeLastUpdateRequests

两者都以自纪元以来的毫秒为单位给出。

我面临着来自js的奇怪行为:

我得到的结果

alert(
    tempTimeRequests+"'n"+
    timeLastUpdateRequests+"'n"+
    Date(tempTimeRequests)+"'n"+
    Date(timeLastUpdateRequests)
)

1369063665000
1369063651000
Mon May 20 2013 17:27:51 GMT+0200 (CEST)
Mon May 20 2013 17:27:51 GMT+0200 (CEST)

如果第二个明显有 51 秒(给出正确的结果(但第一个有 65(这将给出 05 秒(,为什么我有相同的秒值?我真的吓坏了。

Date构造函数作为函数调用将返回当前日期。

从规格

15.9.2 作为函数调用的日期构造函数

当 Date 作为函数而不是构造函数调用时,它将返回一个表示当前时间 (UTC( 的字符串。

注意 函数调用Date(…)等同于具有相同参数的对象创建表达式new Date(…)

这与使用new Date时不同,它执行您的期望。

这应该可以解决问题

alert(
  tempTimeRequests+"'n"+
  timeLastUpdateRequests+"'n"+
  new Date(tempTimeRequests)+"'n"+
  new Date(timeLastUpdateRequests) 
)