0

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

我想知道变化的值 1366265216 是什么意思;以及这整个表达的含义。

谢谢大家!

4

3 回答 3

3

在表达式中:

1366265216

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

alert(new Date(1366265216*1000));

看看你当地的时区是什么。

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

new Date

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

.getTime();

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

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

于 2013-04-18T06:38:01.930 回答
1

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

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

它本可以用来确定请求花费了多长时间,但 RobG 指出,用户的时钟可能是错误的。该值是在响应结束时计算的,因此如果响应需要一段时间才能到达用户的浏览器,我们的偏移量可能会略有错误,但这种差异并不重要。

于 2013-09-21T00:24:46.187 回答
-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.

于 2013-04-18T06:43:45.367 回答