我需要存儲來自不同國家的多個用戶詳細信息。如何將日期存儲在數據庫中(採用UTC格式)以及如何根據其時區向用戶顯示日期。 我正在使用Java和mySQL。在Java中處理多個時區
1
A
回答
0
在MySQL中,在表中使用TIMESTAMP
數據類型。
對於每個用戶,存儲timezone
列,VARCHAR(64)
是該列的良好數據類型。當用戶註冊使用您的系統時,請詢問時區值。礦是America/New_York
。您的可能或不可能是Asia/Kolkata
。對於此用戶首選項設置的用戶界面,WordPress.org軟件就是一個很好的例子。
最後,當你建立從Java程序到你的DBMS在代表用戶的連接,發出SQL命令
SET SESSION time_zone='(whatever tz string the user gave you)'
你處理任何用戶數據之前。
這將導致您的表格的所有時間都轉換爲UTC,並且所有時間都會被轉換爲本地。它適用於NOW()
和CURDATE()
。再次,您必須使用TIMESTAMP
而不是DATETIME
或DATE
數據類型。
確保您的服務器操作系統和默認MySQL時區設置爲UTC。如果在開始將信息加載到數據庫之前不這樣做,則幾乎不可能修復。如果你使用一個供應商來運行MySQL,堅持他們得到這個權利,並且如果他們沒有正確的解決方案,就會解僱供應商。
+0
感謝您的回覆。我會嘗試實施這些步驟。 –
相關問題
- 1. 在時區,處理多個時區
- 2. 在C中處理時區#
- 3. 在rails3中處理時區
- 4. 在Django中處理時區
- 5. 在應用程序中處理多個時區
- 6. 處理時區
- 7. 處理時區
- 8. 在SDL中同時處理多個keypressess
- 9. java:如何在多個函數參數中同時處理null?
- 10. Python中的時區處理
- 11. 在Cocoa處理時區
- 12. 如何處理Java中的多個流?
- 13. Java日期處理:在單個類中存儲日期,時間和時區
- 14. 如果Excel中返回false,同時處理多個小區
- 15. Rails - 在同一請求上處理多個不同時區
- 16. JAVA中的多處理器
- 17. 在1個Eclipse工作區中處理多個SVN分支
- 18. 在PHP和MySQL中處理時區
- 19. 在倉庫中處理時區?
- 20. 在PHP和MySQL中處理時區?
- 21. 在PHP中處理時區和日期
- 22. Java多重處理
- 23. Java applet在處理mouseReleased事件時會拋出多個異常
- 24. mousePressed在處理中的某個區域
- 25. 在列表視圖中處理多個可點擊區域
- 26. Java:如何在一個請求中處理多個Hibernate事務?
- 27. 在Java Socket中處理一個或多個單詞.readLine()
- 28. Rails同時處理陣列中的多個元素批處理
- 29. 處理在strptime時區在Python
- 30. 在java中處理計時器
有什麼解決方案使用Java 8? –
請看看http://stackoverflow.com/questions/12487125/java-how-do-you-convert-a-utc-timestamp-to-local-time – Anptk
要轉換時區之間的時間[JodaTime](http ://stackoverflow.com/questions/19002978/in-joda-time-how-to-convert-time-zone-without-changing-time)是你最好的選擇。 – Thiefster