我有一个字符串日期,我正在转换为XMLGregorianCalendar
. 下面的代码将其转换为没有错误。但是,我将日期传递给的系统会收到下面报告的错误。
以下XMLGregorianCalendar
作品:
以下XMLGregorianCalendar
不起作用(下面的代码将其转换为此):
问题
如何将字符串转换为所需的格式?
public static void main(String []args){
try {
String commenceTOString = "2021-06-30 05:00:00";
java.util.Date dateCommence = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(commenceTOString);
System.out.println(dateCommence);
java.util.GregorianCalendar c = new java.util.GregorianCalendar();
c.setTime(dateCommence);
javax.xml.datatype.XMLGregorianCalendar commence = javax.xml.datatype.DatatypeFactory.newInstance().newXMLGregorianCalendar(c);
System.out.println(commence);
} catch (Exception e) {
e.printStackTrace();
}
}
错误
E:消息验证失败。错误:[cvc-pattern-valid:值 '2021-06-30T06:30:00.000+02:00' 对于模式 '((((((0[1-9])|(1 [0-2]))-((0[1-9])|(1\d)|(2[0-9])))|((((0[13578])|(1[02] ))-31)|(((0[1,3-9])|(1[0-2]))-30)))|(((19|20)(([02468][048]) |([13579][26]))-02-29))|((20[0-9][0-9])|(19[0-9][0-9]))-((( (0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|(((( 0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))T ([0-1][0-9]|[2][0-3])(:([0-5][0-9])){1,2}' 对于类型 'dateTime'.cvc- attribute.3:元素“FlightSegment”上属性“DepartureDateTime”的值“2021-06-30T06:30:00.000+02:00”相对于其类型“dateTime”无效。]。http://www.elleipsis.com/booking/exception/35a8ac87-6743-4719-9504-a8a17a1a0471