我正试图使用名为Oracle BAM的中间件从XML中提取以下DateTime,但这无关紧要。我在日志上得到以下输出:
Invalid DateTime specified: 2016-07-21T11:25:00.000+01:00
java.text.ParseException: Unparseable date: "2016-07-21T11:25:00.000+01:00"
at java.text.DateFormat.parse(DateFormat.java:366)
...
我看过文档,格式和他们想要的完全一样。我错过了什么?
您可以尝试简单的日期格式评估
public Date validateDateFormat(String dateToValdate) {
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy HHmmss");
//To make strict date format validation
formatter.setLenient(false);
Date parsedDate = null;
try {
parsedDate = formatter.parse(dateToValdate);
System.out.println("++validated DATE TIME ++"+formatter.format(parsedDate));
} catch (ParseException e) {
//Handle exception
}
return parsedDate;}
您可以简单地解析该日期,如下所示。
package com.test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class Sample {
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
System.out.println(sdf.parse("2016-07-21T11:25:00.000+01:00"));
}
}