我們如何測量服務器時間和瀏覽器時間之間的時間差? 如果我們在瀏覽器和服務器上都花費毫秒時間,那麼服務器和瀏覽器在兩個不同的時區是否會給我提供準確的結果?服務器和瀏覽器之間的時間差
0
A
回答
2
沒有內置的方式。您應該在應用程序級別上執行此操作。您可以使用JavaScript檢索時間並將此結果發送到服務器,您可以明顯知道它是幾點。現在比較這些結果。
結果將精確到網絡延遲。
如果你只是想知道時區差異就足夠了。但是,如果您想了解網絡延遲,您可以估計它:將客戶端時間從客戶端發送到服務器,將服務器時間從服務器發送到客戶端,並考慮時區偏移量。其餘的是客戶端 - >服務器 - >客戶端延遲。將它除以2 - 這是單向延遲的第一個估計。更好的估計需要更多統計數據
+0
我不太擔心網絡延遲。是的,正如你所提到的,獲得一段時間的JS並將它發送到服務器是我計劃要做的事情。在這種情況下,如果瀏覽器和服務器的時區不同,這種比較是否準確?以毫秒爲單位的時間是否會給我帶來不同,包括時區偏移? – neo
0
您可以通過Javascript Date.getTimezoneOffset()獲取客戶端的時區GMT偏移量,並將該值保存到隱藏字段。下面是一個示例腳本,可用於確定客戶端的時區:
var now = new Date();
var currentTimeZoneOffset = now.getTimezoneOffset();
var jan = new Date(now.getFullYear(), 0, 1, 2, 0, 0), jul = new Date(now.getFullYear(), 6, 1, 2, 0, 0);
var hemisphere = (jan.getTime() % 24 * 60 * 60 * 1000) > (jul.getTime() % 24 * 60 * 60 * 1000);
var dstOffset = hemisphere ? jan.getTimezoneOffset() : jul.getTimezoneOffset();
var standardOffset = hemisphere ? jul.getTimezoneOffset() : jan.getTimezoneOffset();
var gmtHours = -currentTimeZoneOffset/60;
document.write("GMT time-zone offset: " + gmtHours +"<br>");
var isDstActive = (currentTimeZoneOffset-dstOffset) != 0;
document.write("Daylight saving time is active: " + isDstActive + "<br>");
var isTimezoneWithDst = (dstOffset-standardOffset) != 0;
document.write("DST is observed in this timezone: " + isTimezoneWithDst);
相關問題
- 1. 服務器和瀏覽器的時間差
- 2. 瀏覽器之間的HTML差異
- 3. 服務器時間未與瀏覽器的時間匹配服務器
- 4. 服務器和本地系統之間的時間差錯
- 5. 服務器和客戶端之間的日期時間差異
- 6. 計算服務器和用戶時間之間的差異
- 7. 在服務器和瀏覽器之間丟失數組元素
- 8. 在瀏覽器和服務器之間共享邏輯
- 9. 瀏覽器之間的互動Repl,瀏覽器,http服務器在clojurescript
- 10. 差異。 Web服務器和媒體服務器之間?
- 11. 在燼器切換瀏覽器選項卡之間的時間差
- 12. 2px在Chrome瀏覽器和其他瀏覽器之間的`outerHeight()`
- 13. 渲染phantomjs和我的網頁瀏覽器之間的差異
- 14. 我和betfair服務器之間的時差
- 15. 客戶端和服務器之間的時區差異?
- 16. IE瀏覽器CSS IE6,IE7,IE8和IE9之間的差異
- 17. 終端和瀏覽器之間的PHP差異
- 18. 服務器在瀏覽器中的響應時間
- 19. 用java編寫的瀏覽器和服務器之間的通信
- 20. 如何保持服務器和瀏覽器之間的隊列同步?
- 21. KEPServerEX(服務器)和WinCC瀏覽器V7.3(cliënt)之間的OPC UA連接
- 22. System.IO.IOException:客戶端和服務器之間存在時間和/或日期差異
- 23. 爲什麼LocalTime顯示服務器時間而不是瀏覽器時間?
- 24. 獲取服務器時間到瀏覽器
- 25. 得到SQL服務器中日期/時間和整數值之間的差異
- 26. 如何在瀏覽器和服務器之間傳輸數據結構
- 27. 在Node.js服務器和瀏覽器之間共享二進制緩衝區
- 28. WebService:我的電腦和服務器之間的差異
- 29. 瀏覽器之間的地理定位精度差異
- 30. filltext()canvas文本位置瀏覽器之間的差異
看起來像這完全取決於用戶的時鐘設置爲什麼時間。我可以在任何我喜歡的技術上設定我的時鐘。 – BeRecursive
聽起來你應該考慮使用[NTP](http://en.wikipedia.org/wiki/Network_Time_Protocol)。 –
讓我們從你如何計算瀏覽器時間和服務器時間開始。你會告訴我們一些代碼嗎?還有你爲什麼要這樣做。你試圖達到什麼目標? –