昨天,我的Date.now()已经过时,我无法在Google上找到任何相关结果

时间:2015-02-13 17:11:23

标签: javascript overflow epoch

1423781658625

这个号码是溢出的。转换为日期,这是:

Thu Feb 12 2015 22:54:18 GMT

昨天有没有其他人遇到过这个问题?

2 个答案:

答案 0 :(得分:1)

我将在这里走出困境......并回答被问到的问题。

问:昨天是否有其他人遇到此问题?

通过此问题,您指的是Javascript Date.now()的某种“溢出”问题。

我没有遇到这个问题。我也不期望。

Javascript Date对象支持1970年1月1日后100,000,000天的值。并且now()方法返回object的值作为自1970年1月1日以来的毫秒数。

一天有86,400秒,1000次,一天达到毫秒,100,000,000次最高值为8,640,000,000,000,000。

Javascript中的最大安全整数值为Number.MAX_SAFE_INTEGER,相当于Math.pow(2, 53) - 1,小数值为9,007,199,254,740,991。

Date.now()返回的值不会超过MAX_SAFE_INTEGER,即使它确实超过了该值,也不会“溢出”,只会失去精确度。

所以,我要走出困境,回答你问的问题:

答:不会。昨天没有其他人遇到过Javascript Date.now()的溢出问题。

但是我也会跟着它提出一个不是Date.now()导致溢出的建议。如果您的Javascript代码中发生了某种类型的整数溢出,那么Date.now()不是问题,而是您正在做的其他事情。我们可以猜测,但是如果没有关于代码实际执行的内容的其他信息(比如实际代码),我们只是猜测。

答案 1 :(得分:0)

事实证明这是setTimer函数的上限的结果。感谢您的所有回复!