SimpleDateFormat 不维护时区

Mah*_*leh 3 java datetime simpledateformat

我有一个以下格式的日期对象:

2013 年 1 月 20 日星期日 10:12:27 GMT+02:00

上述时间正确显示在 Microsoft Outlook 中:

2013 年 1 月 20 日星期日 12:12 PM(这是 GMT+2 >> 客户端时区的时间)

当尝试将日期对象格式化为SimpleDateFormat在 Outlook 中显示时,使用以下代码:

SimpleDateFormat sdf=new SimpleDateFormat(
    "EEE M/d/yyyy hh:mm a");
    String receivedDate = sdf.format(email.getDateTimeReceived());
Run Code Online (Sandbox Code Playgroud)

格式化的结果是:

2013 年 1 月 20 日星期日 10:12

所以缺少两个小时的时区差异。

请告知如何解决该问题,谢谢。

JB *_*zet 5

如果我理解正确的话,您想使用 GMT 时区来格式化日期。

DateFormat dateFormat = new SimpleDateFormat("EEE M/d/yyyy hh:mm a");
dateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
String formattedDate = dateFormat.format(date);
Run Code Online (Sandbox Code Playgroud)