我有一个用户可以输入日期的UI。现在,这个日期在我的代码中转换为UTC格式,该代码位于EJB中。
我的查询是IST中的浏览器和我的代码是否部署在EST中的服务器上。
现在转换为UTC,我需要从时区转换IST或ETC的日期。
我的代码就像:
用户在DatePicker中输入日期。 DatePicker的值分配给普通的Java Date Object。
答案 0 :(得分:3)
您需要将IST转换为UTC
您的用户正在选择日期,假设它是IST。因此,在您的服务器代码中,您需要在创建将在服务器时区中的Date对象之前考虑用户时区。由于服务器在EST中,您需要在存储之前将其再次转换为UTC。
大多数服务器都在UTC时区配置了时间,因此在这种情况下只需要进行一次转换。
答案 1 :(得分:0)
当您在当地时区获得日期时。
private static final DateFormat FULL_RFC822_DATETIME_FORMAT = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss", Locale.US);
public static void date2() throws Exception {
FULL_RFC822_DATETIME_FORMAT.setTimeZone(new SimpleTimeZone(0, "GMT")); //frozen
Date d = new Date(); // in local time zone
System.out.println(d);
System.out.println(FULL_RFC822_DATETIME_FORMAT.format(d) + " GMT");
}
我得到了
Fri Dec 07 11:15:58 CET 2012
Fri, 7 Dec 2012 10:15:58 GMT
GMT + UTC是相同的。