2016-03-08 111 views
0

請幫我這個情況:喬達時間:轉換jodaTime與時區

  1. 挑選從前端的日期,如2016年3月8日5點53分〇〇秒
  2. 用戶的時區爲格林威治標準時間08:00,再加上8小時,將其保存到數據庫爲2016/3/8 13:53:00
  3. B用戶的時區爲格林威治標準時間-10:00,再加上10小時,將其另存爲數據庫爲3/8/2016 15:53:00
  4. A,我們將數據庫中的日期轉換後,將在頁面上看到3/8/2016 05:53:00。

我想我們可以編寫一個util來轉換datetime,加上或減去它。 有沒有一種支持方式來實現它?

+0

設置解析userinput並設置要存儲在日期的時區時,時區然後只是把它寫入數據庫。在讀取和格式化輸出時,再次應用用戶的時區。由於您正在使用JodaTime,因此請參閱有關如何將日期映射到'java.util.date'或直接映射到數據庫以及如何將時區映射到解析器,格式化程序和日期本身的文檔。 – Thomas

回答

0

選擇日期併爲轉換添加一次。 所有喬達時區是here

例:

final DateTime dt = new DateTime(); 
// translate to Honolulu local time 
final DateTime dtVancouver = dt.withZone(DateTimeZone.forID("Etc/GMT+8")); 
final DateTime dtHonolulu = dt.withZone(DateTimeZone.forID("Etc/GMT+10")); 
System.out.println(dt); 
System.out.println(dtVancouver); 
System.out.println(dtHonolulu); 
+0

謝謝,@ Xoce .. –