Unparsable Date java.text.ParseException:Unparseable date:"2015-10-08 05:00:00.0"

use*_*196 0 java database date simpledateformat

我有以下操作,它应该以指定的格式解析日期.但它不会解析并抛出不可解析的异常.有人可以纠正我错在哪里.该字段是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();
}
Run Code Online (Sandbox Code Playgroud)

npi*_*nti 6

根据JavaDoc,"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,但您使用的是以下格式:yyyy-MM-dd'T'HH:mm:ss.您需要省略额外内容'T'并包含一个额外的内容.S以匹配它的milli secon方面.