我收到错误500:java.text.ParseException:Unparseable date:“2013-07-18 16:57:22.0”

时间:2013-07-25 10:07:22

标签: java parsing simpledateformat

String date = "2013-07-18 16:57:22.0";
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH24:mm:SSSS.FF6");
Date dateTime=format.parse(date);
Calendar calendar = Calendar.getInstance(format.getTimeZone());
calendar.setTime(dateTime);

我收到错误

错误500:java.text.ParseException:无法解析的日期:“2013-07-18 16:57:22.0”

2 个答案:

答案 0 :(得分:3)

试试这个:"yyyy-MM-dd HH:mm:ss.S"

看看:http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

答案 1 :(得分:3)

我不确定您格式的HH24部分是做什么的:HH已经意味着您需要24小时格式的一天中的小时。

出于同样的原因,FF6位应该达到什么目的?根据文档,F是一周中的某一天,你有什么特别的理由在你的秒之后把它放进去吗? 6部分意味着什么?

SSSS也有点奇怪 - 你想要一个4位数的毫秒(最大值是999,不是吗?),而不是秒?

尝试从documentation逻辑上构建您的格式 - 我相信您最终会得到与@davioooh建议非常相似的内容。