3

我有一个用户可以输入日期的用户界面。现在这个日期在我的 EJB 内的代码中转换为 UTC 格式。

我的查询是 IST 中的浏览器和我的代码是否部署在 EST 中的服务器中。

现在要从哪个时区转换为 UTC,我需要从 IST 或 ETC 转换日期。

我的代码是这样的:

用户在 DatePicker 中输入日期。DatePicker 的值分配给纯 Java 日期对象。

4

2 回答 2

3

你需要对 UTC 做 IST

您的用户正在选择日期,假设它是 IST。因此,在您的服务器代码中,您需要在创建将在服务器时区中的 Date 对象之前考虑用户时区。由于服务器在 EST 中,因此您需要在存储之前将其再次转换为 UTC。

大多数服务器的时间配置为 UTC 时区,因此在这种情况下只需要一次转换。

于 2012-12-07T08:02:21.860 回答
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 相同。

于 2012-12-07T10:19:01.207 回答