如何在欧洲正确转换xsd:dateTime到日期?

时间:2013-10-24 14:36:28

标签: java time timezone

我的以下日期是来源:2013-11-07T08:35:00.000+01:00,这是来自XML请求的xsd:dateTime

我想将其转换为DDMMYYYHH:mm中欧时间(CET),以便根据当地时间向德国某人显示最终日期。

我怎么能做到最好?

我开始将字符串源转换为日历日期:

Calendar cal = DatatypeConverter.parseDateTime(date)

但是我怎样才能继续获得与时区相关的String格式?

2 个答案:

答案 0 :(得分:1)

使用Joda Time

DateTime dt = new DateTime("2013-11-07T08:35:00.000+01:00");
DateTime dtGermany = dt.withZone(DateTimeZone.forID("Europe/Berlin"));
DateTimeFormatter fmt = DateTimeFormat.mediumDateTime().withLocale(Locale.GERMANY);
String s = fmt.print(dtGermany);

答案 1 :(得分:0)

分三步完成:

  • 使用常用技巧将字段转换为XMLGregorianCalendar对象。
  • 点击toGregorianCalendar(TimeZone, Locale, XMLGregorianCalendar)
  • 使用适当的德语DateFormqat