我正在尝试解析这样的字符串日期:2021-03-19T13:08:32.58600
在我的模板中使用 BeanIO:
<field name="updatedAt" typeHandler="dateTypeHandler" format="yyyy-MM-dd'T'HH:mm:SSSXX"/>
我得到了Invalid date
错误。
我用 SimpleDateFormat 测试了一些案例,例如,如果我做这样的事情:
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").parse(text)
它可以工作。
问题出在DateTypeHandlerSupport
课堂上,方法 parse 验证长度:
protected Date parseDate(String text) throws TypeConversionException {
if ("".equals(text))
return null;
ParsePosition pp = new ParsePosition(0);
Date date = getFormat().parse(text, pp);
if (pp.getErrorIndex() >= 0 || pp.getIndex() != text.length()) {
throw new TypeConversionException("Invalid date");
}
return date;
}
有什么方法可以在不创建自己的 DateTypeHandler 的情况下解析字符串?