2010-06-11 59 views
2

由於Date構造是基於PC的時區和服務器端顯然是依賴於服務器的時間設置...正在同步JS + PHP時間

我能做些什麼程序,以確保我產生了時間戳兩端一致?

我有一個jQuery的日期選擇器設置和我做了很多的工作,我也有這是一個從服務器端代碼查找數據庫可用性擔保產生我自己的日期選擇器。

我在服務器端節省了到達/離開時間,並且因爲JS是本地時區(我的是東方的),所以日子一天不在。

是我唯一的選擇做的事情就像使JS調用PHP來獲取時間戳?

回答

3

你可以在啓動時有你的客戶端查詢服務器一次,以獲取服務器的時間,然後計算在客戶端上的時間和服務器報告的時間之間的差異。緩存該值,並將其用於未來的請求。您可能仍會關閉幾秒鐘(由於請求延遲),但您會非常接近。

+0

當你提到將來的請求,這是否意味着保存在一個會話/餅乾區別? – 2010-06-12 21:13:33

+0

你可以將它存儲在一個cookie中,但是我想,在幾分鐘後你會想確保它過期。其實我在想,你的JS可以將其存儲在現存的對頁面的生命的局部變量 - 如果用戶刷新該頁面,它可能是更安全的重新檢查的時間差。 – Curtis 2010-06-14 12:51:01

1

你的服務器和客戶端應用程序應該從遠程服務器(時間服務器)

1

你只需要同步從時間服務器的服務器時間獲取時間。 Evry時間您的應用程序正在客戶端工作,從參考表中讀取此同步時間。