【发布时间】:2022-06-17 04:27:12
【问题描述】:
我收到一个日期字符串和 zoneAdjustment。我能够将日期转换为公历,但我想知道如何设置我收到的自定义偏移量。 我收到: 字符串输入日期=“2022-05-19T20:21:11” 字符串偏移 = "-PT5H0M"; 我需要最终输出为“2020-05-19T20:21:11.000-05:00” 我需要将偏移量转换为 int 并使用它来设置时区。
public XMLGregorianCalendar getXmlGregorianCalender(String inputDate, int offset) {
XMLGregorianCalendar xmlGregorianCalendar = null;
try {
Date date;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
date = simpleDateFormat.parse(inputDate);
GregorianCalendar gregorianCalendar =
(GregorianCalendar) GregorianCalendar.getInstance();
gregorianCalendar.setTime(date);
xmlGregorianCalendar =
DatatypeFactory.newInstance().newXMLGregorianCalendar(gregorianCalendar);
xmlGregorianCalendar.setTimezone(offset);
// xmlGregorianCalendar.setTimezone();
} catch (Exception e) {
LOGGER.error("Error parsing dates", e);
}
return xmlGregorianCalendar;
}
【问题讨论】:
标签: java spring-boot