我有一个用户可以输入日期的用户界面。现在这个日期在我的 EJB 内的代码中转换为 UTC 格式。
我的查询是 IST 中的浏览器和我的代码是否部署在 EST 中的服务器中。
现在要从哪个时区转换为 UTC,我需要从 IST 或 ETC 转换日期。
我的代码是这样的:
用户在 DatePicker 中输入日期。DatePicker 的值分配给纯 Java 日期对象。
我有一个用户可以输入日期的用户界面。现在这个日期在我的 EJB 内的代码中转换为 UTC 格式。
我的查询是 IST 中的浏览器和我的代码是否部署在 EST 中的服务器中。
现在要从哪个时区转换为 UTC,我需要从 IST 或 ETC 转换日期。
我的代码是这样的:
用户在 DatePicker 中输入日期。DatePicker 的值分配给纯 Java 日期对象。
你需要对 UTC 做 IST
您的用户正在选择日期,假设它是 IST。因此,在您的服务器代码中,您需要在创建将在服务器时区中的 Date 对象之前考虑用户时区。由于服务器在 EST 中,因此您需要在存储之前将其再次转换为 UTC。
大多数服务器的时间配置为 UTC 时区,因此在这种情况下只需要一次转换。
当您在本地时区获得日期时。
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 相同。