不可解析日期java.text.ParseException:不可解析日期:";2015-10-08 05:00:00.0“;

不可解析日期java.text.ParseException:不可解析日期:";2015-10-08 05:00:00.0“;,java,database,date,simpledateformat,Java,Database,Date,Simpledateformat,我有以下操作,它应该以指定的格式解析日期。但它不会解析并抛出一个不可解析的异常。 有人能纠正我哪里错了吗。该字段是TimeStamp,DB是Oracle private XMLGregorianCalendar stringToXMLGregorianCalendar(String s) throws DatatypeConfigurationException, ParseException { XMLGregorianCalendar result = null; Date date

我有以下操作,它应该以指定的格式解析日期。但它不会解析并抛出一个不可解析的异常。 有人能纠正我哪里错了吗。该字段是TimeStamp,DB是Oracle

private XMLGregorianCalendar stringToXMLGregorianCalendar(String s)
    throws DatatypeConfigurationException, ParseException {
XMLGregorianCalendar result = null;
Date date = null;
SimpleDateFormat simpleDateFormat;
GregorianCalendar gregorianCalendar;

simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
try {
    date = simpleDateFormat.parse(s);
    gregorianCalendar = (GregorianCalendar) GregorianCalendar
            .getInstance();
    gregorianCalendar.setTime(date);
    result = DatatypeFactory.newInstance().newXMLGregorianCalendar(
            gregorianCalendar);

} catch (java.text.ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
根据“yyyy-MM-dd'HH:MM:ss.SSSZ”将等同于类似于
2001-07-04T12:08:56.235-0700的东西。如果您注意到,
T
仍然存在

在您的错误中,日期似乎如下:
2015-10-08 05:00:00.0“
格式为
yyyy-MM-dd HH:MM:ss.S
,但您使用的格式是:
yyy-MM-dd'T'HH:MM:ss
。您需要省略额外的
'T'
并包含一个额外的
.S
,以匹配它的毫秒特性。

根据
“yyyy-MM-dd'T'HH:MM:ss.SSSZ”
相当于
2001-07-04T12:08:56.235-0700。如果您注意到,
T
仍然存在


在您的错误中,日期似乎如下:
2015-10-08 05:00:00.0“
格式为
yyyy-MM-dd HH:MM:ss.S
,但您使用的格式是:
yyy-MM-dd'T'HH:MM:ss
。您需要省略额外的
'T'
,并包含一个额外的
.S
,以匹配它的毫秒特性。

可能是秒后的点和十进制数字。数据库部分到底在哪里?和以往一样:对照数据的格式检查您指定的格式…可能是秒后的点和十进制数字。数据库部分到底从何而来?和以往一样:对照数据的格式检查您指定的格式…@user3548196:不客气。请告知此答案是否是为了其他人而解决了您的问题,因为其他人可能会偶然发现您的问题。@user3548196:不客气。请告知此答案是否是为了其他可能会偶然发现您的问题的人而解决了您的问题。