window.clientTimeDivergence = (1366265216 * 1000) - (新日期).getTime();
我想知道变化的值 1366265216 是什么意思;以及这整个表达的含义。
谢谢大家!
window.clientTimeDivergence = (1366265216 * 1000) - (新日期).getTime();
我想知道变化的值 1366265216 是什么意思;以及这整个表达的含义。
谢谢大家!
在表达式中:
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 以来的毫秒数)。所以结果是两次之间的毫秒差。
它可能用于估计将数据从服务器发送到客户端所需的时间,并假设两端的时钟是同步的(或者至少在可能几秒的可接受容差内同步)。如果两者都连接到互联网并正确配置,则很可能出现这种情况,但不能保证它们是正确的。
Grooveshark 前端工程师在这里。看起来您是从我们的源代码中找到的。
该代码正在获取服务器时间和用户时间的差异,然后将其用于站点的所有时间计算。当我们需要在用户的时区或相对于用户的时钟中显示时间值时,这有助于我们稍后。
它本可以用来确定请求花费了多长时间,但 RobG 指出,用户的时钟可能是错误的。该值是在响应结束时计算的,因此如果响应需要一段时间才能到达用户的浏览器,我们的偏移量可能会略有错误,但这种差异并不重要。
(new Date()).getTime()
在 中给出当前时间milliseconds
,因此1366265216
似乎是以秒为单位的某个时间,它被转换milliseconds
为从 中减去结果(new Date()).getTime()
。
顺便说一句,你错过()
了(new Date).getDate();
另外,您可以检查var date = new Date(1366265216)
或var date = new Date(1366265216*1000)
找出1366265216
.