我們如何測量服務器時間和瀏覽器時間之間的時間差? 如果我們在瀏覽器和服務器上都花費毫秒時間,那麼服務器和瀏覽器在兩個不同的時區是否會給我提供準確的結果?服務器和瀏覽器之間的時間差
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. 服務器和瀏覽器的時間差
- 3. 瀏覽器之間的HTML差異
- 4. 服務器時間未與瀏覽器的時間匹配服務器
- 5. 瀏覽器和服務器之間的代碼共享(繼承)
- 6. 服務器和本地系統之間的時間差錯
- 7. 計算服務器和用戶時間之間的差異
- 8. 服務器和客戶端之間的日期時間差異
- 9. 在服務器和瀏覽器之間丟失數組元素
- 10. 在瀏覽器和服務器之間共享邏輯
- 11. 在瀏覽器和服務器之間同步HTML
- 12. 服務器時間差異
- 13. 瀏覽器之間的互動Repl,瀏覽器,http服務器在clojurescript
- 14. 如何解決本地服務器時間和GMT時間之間的時差?
- 15. 差異。 Web服務器和媒體服務器之間?
- 16. 在燼器切換瀏覽器選項卡之間的時間差
- 17. 2px在Chrome瀏覽器和其他瀏覽器之間的`outerHeight()`
- 18. 渲染phantomjs和我的網頁瀏覽器之間的差異
- 19. 客戶端和服務器之間的時區差異?
- 20. 我和betfair服務器之間的時差
- 21. 鉻/ Safari瀏覽器和火狐之間的CSS定位差異
- 22. 瀏覽器和控制檯之間的活動記錄差異
- 23. 谷歌瀏覽器 - Mac和PC之間的差異
- 24. IE瀏覽器CSS IE6,IE7,IE8和IE9之間的差異
- 25. 終端和瀏覽器之間的PHP差異
- 26. 服務器在瀏覽器中的響應時間
- 27. 用java編寫的瀏覽器和服務器之間的通信
- 28. 瀏覽器可以連接服務器的最長時間(反之亦然)
- 29. 如何保持服務器和瀏覽器之間的隊列同步?
- 30. KEPServerEX(服務器)和WinCC瀏覽器V7.3(cliënt)之間的OPC UA連接
看起來像這完全取決於用戶的時鐘設置爲什麼時間。我可以在任何我喜歡的技術上設定我的時鐘。 – BeRecursive
聽起來你應該考慮使用[NTP](http://en.wikipedia.org/wiki/Network_Time_Protocol)。 –
讓我們從你如何計算瀏覽器時間和服務器時間開始。你會告訴我們一些代碼嗎?還有你爲什麼要這樣做。你試圖達到什麼目標? –