window.clientTimeDivergence =(1366265216 * 1000) - (new Date).getTime();有人可以爲我解釋這段代碼嗎? window.clientTimeDivergence =(1366265216 * 1000) - (new Date).getTime();
我想知道更改值1366265216意味着什麼;這整個表達意味着什麼。
謝謝大家!
window.clientTimeDivergence =(1366265216 * 1000) - (new Date).getTime();有人可以爲我解釋這段代碼嗎? window.clientTimeDivergence =(1366265216 * 1000) - (new Date).getTime();
我想知道更改值1366265216意味着什麼;這整個表達意味着什麼。
謝謝大家!
(new Date()).getTime()
給出milliseconds
當前時刻,所以1366265216
似乎是秒一段時間,其被轉換爲milliseconds
以便從(new Date()).getTime()
減去所得到的。
順便說一句,U是在(new Date).getDate();
加上缺少()
,U可以檢查var date = new Date(1366265216)
或var date = new Date(1366265216*1000)
找出日期/時間了1366265216
的。
在表達式:
1366265216
大概是因爲1970-01-01T00一個UNIX時間值,該值是秒: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以來的毫秒數)。所以結果是兩次之間的毫秒差異。
它可能用於估計將數據從服務器發送到客戶端所需的時間,並假定兩端的時鐘同步(或至少在可能的幾秒鐘的可接受容差內同步)。如果兩者都連接到互聯網並且配置正確,那麼這很可能,但是不能保證它們是。
然後我運行代碼: window.clientTimeDivergence =(1366265216 * 1000) - (新的日期).getTime(); ,我得到了這樣的回答:-2226910(保持隨時間變化) 這是什麼結果代表什麼可這個結果在web應用程序嗎? 我很困惑這個... – MengruWong 2013-04-18 06:44:32
謝謝你的代碼的現實意義的解釋!正是這樣! – MengruWong 2013-04-18 07:02:26
Grooveshark前端工程師在這裏。看起來你從我們的源代碼中找到了這個。
代碼獲取服務器時間和用戶時間的差異,然後用於該站點的所有時間計算。當我們需要在用戶的時區或相對於用戶的時鐘顯示時間值時,這將有助於我們稍後的工作。
它可能已被用來確定請求花了多長時間,但RobG指出,用戶的時鐘可能是錯誤的。該值是在響應結束時計算的,所以如果響應需要一段時間才能到達用戶的瀏覽器,我們的偏移量可能會稍微有點錯誤,但這種差異很少。
明白了!非常感謝!實際上,'(new Date).getDate()'也適用,也許函數也是javascript中的對象? – MengruWong 2013-04-18 06:59:15
從來沒有檢查過..謝謝指出! :) – 2013-04-18 07:48:18