java

时间:2016-07-21 10:49:28

标签: java xml datetime datetime-format

我尝试使用名为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)
     ...

我已阅读文档,格式完全符合他们的要求。我错过了什么?

2 个答案:

答案 0 :(得分:0)

您可以尝试使用简单的日期格式valdation

 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;}

答案 1 :(得分:0)

您可以简单地解析该日期,如下所示。

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"));
    }
}