簡體   English   中英

獲取不同區域中用戶當前客戶端日期和時間的方法

[英]Methods of getting a user's current client side date and time in different areas

我們有在中心位置使用服務器的應用程序,這些服務器有自己的服務器時間。 我們的用戶遍布全球。 每次我們需要處理頁面打印,或需要計算年齡(到今天)或任何其他需要客戶時間的內容時,我們都是通過瀏覽器通過網絡發送客戶時間,並將其存儲在Java中的Date對象中,然后工作在那里。

有時,如果不需要重復,那么我們只是在客戶端使用JavaScript進行處理。 標准化僅一次通過網絡發送日期和時間並在服務器上使用它的方式會很好。 我當時想只是在會話中保留一個變量,並使用會話創建以來的時間。

我很好奇是否有人處理過這個問題並想出一種巧妙的處理方法,我敢肯定我們不是第一個處理這種小麻煩的人。

也有可能,實際上僅在需要時發送客戶日期才是這樣做的最佳方法,而不是嘗試使相對簡單的事情變得過於復雜。 我現在更傾向於這一點。 那將意味着我基本上什么都不做...我很少反對這樣做= D

如果您絕對希望避免每次發送請求時都發送客戶端的當前時間,這在計算時間和與IMO的結合上都不是很昂貴,那么為什么不一次檢索客戶端的時區並將其存儲在會話中,然后每次需要時都用它來計算服務器端的時間嗎?

對我來說,比使用自創建會話以來的時間更容易,而且更干凈。

您可以使用以下方法在客戶端檢索時區偏移量:

dateObj.getTimezoneOffset()

它以分鍾為單位返回客戶端時區的偏移量(例如,如果您的時區是UTC + 10(澳大利亞東部標准時間),則將返回-600)。

有關更多詳細信息,請參見https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM