参见英文答案 > Java SimpleDateFormat pattern for W3C XML dates with timezone 9个
我们使用的外部API之一需要
“YYYY-MM-DDTHH:MM:ssTZD”
要传入的格式
的XMLGregorianCalendar
宾语.我不确定Java中是否有任何支持“T”的内容.我想知道,如果可以在Java中将日期解析为上述格式吗?他们提供的有效日期的示例
是
“2009-07-16T19:20:30-05:00” …………
Update: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZZZ"); GregorianCalendar gc = new GregorianCalendar(); String dateString = sdf.format(gc.getTime()); gc.setTime(sdf.parse(dateString)); XMLGregorianCalendar date2 = DatatypeFactory.newInstance().newXMLGregorianCalendar(gc);
输出:
2014-04-17T13:11:30.000 01:00
DateTimeFormat
API与“yyyy-MM-dd’T’HH:mm:ssZ”日期模式 String date = "2009-07-16T19:20:30-05:00"; String pattern = "yyyy-MM-dd'T'HH:mm:ssZ"; DateTimeFormatter dtf = DateTimeFormat.forPattern(pattern); DateTime dateTime = dtf.parseDateTime(date); System.out.println(dateTime); // 2009-07-16T19:20:30-05:00
翻译自:https://stackoverflow.com/questions/23132145/java-simpledateformat-for-yyyy-mm-ddthhmmsstzd