2016-03-08 124 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 .. –