有人可以帮我解释这段代码吗? window.clientTimeDivergence =(1366265216 * 1000) - (new Date).getTime();

时间:2013-04-18 06:34:19

标签: javascript

  

window.clientTimeDivergence =(1366265216 * 1000) - (新的   日期).getTime();

我想知道1366265216的变化值是什么意思;这整个表达意味着什么。

全部谢谢!

3 个答案:

答案 0 :(得分:3)

在表达式中:

1366265216

可能是UNIX时间值,即自1970-01-01T00:00:00Z以来的秒数,可能是2013-04-18T06:06:56Z。只是做:

alert(new Date(1366265216*1000));

查看当地时区的内容。

Javascript日期对象的time value使用相同的纪元,但以毫秒为单位。因此,该值乘以1,000以将其更改为毫秒。

new Date

返回当前时间的javascript Date对象。

.getTime();

返回javascript日期对象的时间值(即自1970-01-01T00:00:00Z以来的毫秒数)。因此结果是两次之间的毫秒差异。

它可能用于估计从服务器向客户端发送数据所花费的时间,并假设两端的时钟是同步的(或至少在可能的几秒钟内可接受的容差内同步)。如果两者都连接到互联网并正确配置,那很可能,但不能保证它们都是。

答案 1 :(得分:1)

Grooveshark前端工程师。看起来你是从我们的源代码中找到的。

代码获取服务器时间和用户时间的差异,然后用于网站的所有时间计算。当我们需要在用户的时区或相对于用户的时钟显示时间值时,这有助于我们。

它可能已用于确定请求的持续时间,但RobG指出,用户的时钟可能是错误的。该值是在响应结束时计算的,因此如果响应需要一段时间才能到达用户的浏览器,我们的偏移可能会略有错误,但这种差异很少发生。

答案 2 :(得分:-1)

(new Date()).getTime()milliseconds中显示当前时间,因此1366265216似乎在中有一段时间被转换为milliseconds所以从(new Date()).getTime()中减去结果。

顺便说一下,你错过了()

中的(new Date).getDate();

另外,您可以查看var date = new Date(1366265216)var date = new Date(1366265216*1000)以查找1366265216的日期/时间。