5

我有两个变量:

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 秒),我怎么会有相同的秒值?我真的很害怕。

4

2 回答 2

4

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

规范

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

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

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

这与使用new Datewhich 执行您期望的操作时不同。

于 2013-05-20T15:59:26.593 回答
3

这应该可以解决问题

alert(
  tempTimeRequests+"\n"+
  timeLastUpdateRequests+"\n"+
  new Date(tempTimeRequests)+"\n"+
  new Date(timeLastUpdateRequests) 
)
于 2013-05-20T15:51:55.800 回答