Java XMLGregorianCalendar 正在改变时间 - 奇怪的行为

问题描述

我有一个日期作为输入 = 2021-03-12T10:42:01.000Z....我想转换成这种格式:

String pattern = "yyyy-MM-dd'T'HH:mm:ssZ";


public String getDate(XMLGregorianCalendar input) {
    DateFormat f = new SimpleDateFormat(pattern);
    input.toGregorianCalendar().setTimeZone(TimeZone.getTimeZone(ZoneOffset.UTC));
    String output = f.format(input.toGregorianCalendar().getTime());
    System.out.println(output);
}

2021-03-12T12:42:01+0200

基本上,它增加了 2 小时。可能跟时区有关,我没在别的电脑上测试过。我有两个问题:

  • 为什么会这样
  • 我该怎么做才能避免它?这是一个遗留应用程序,所以我不想做大的改变

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)