自动将日历对象格式化为接收器时区

时间:2017-11-21 12:39:20

标签: java

我在编组Calendar Object时将Calendar Object格式化为接收者的时区系统时遇到问题。 Calendar Object根据接收者时区格式化为接收者。

Eingansnachricht:
< CreDtTm > 2017-09-28T11:22:29.000+08:00 </ CreDtTm >
Ausgangsnachricht:
< CreDtTm > 2017-09-28T05:22:29.000+02:00 </ CreDtTm >

1 个答案:

答案 0 :(得分:0)

最后我得到了答案,该解决方案解决了我的问题。 datetime是Calendar Object。

final SimpleDateFormat dateTimeFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
        dateTimeFormat.setTimeZone(datetime.getTimeZone());
    final String formattedDatetime = dateTimeFormat.format(datetime.getTime());
        final String zone = datetime.getTimeZone().getID().substring(3);
        if (zone.contains(":") && zone.length() == 6) {
            return formattedDatetime.concat(zone);
        }
        return formattedDatetime;
    }    
}