我有一個多時區的Web應用程序,在數據庫中存儲UTC中的所有日期時間值,當服務器發生操作時,我可以輕鬆地將時間轉換爲UTC。檢測和存儲Web應用程序客戶端的時區的最佳方式是什麼?
但是,當客戶端輸入時間或時間跨度時,檢測並存儲它的最佳方法是什麼?
我目前做如下:
- 獲取Date.getTimezoneOffset()(JavaScript的)
- 後的值來對頁面通過ICallbackEventHandler服務器端代碼。
- 將該值存儲在會話中
- 在任何後續請求中,使用客戶端的時區計算輸出/輸入日期時間值。
不管實際的實施情況如何,這看起來像是一個非常優雅的解決方案。有沒有人有更好的方法?
這是一個不錯的解決方案,和一個我認爲是。我避開它的唯一原因是一個「倒數計時器」的情況,就像用戶剩餘X小時做一個動作一樣。 我覺得這樣的邏輯應該發生在服務器上,但我想這將是罰款的JavaScript。 – 2008-10-09 16:23:31
任何對用戶的時間限制都必須在服務器上進行檢查。倒計時計時器似乎與這個問題有關: http://stackoverflow.com/questions/198049/prevent-js-alert-from-pausing-timers 這是一個類似的想法,客戶端驗證容易受騙。 – Mnebuerquo 2008-10-15 07:35:33