我正在尝试将格式化日期解析回日期对象,但我经常遇到异常,下面是我的代码:
DateFormat dateFormat = new SimpleDateFormat("MMMM d, yyyy ", Locale.ENGLISH);
date = dateFormat.parse(dateString);当我尝试像Apr 17, 2016这样的约会时,它给了我一个ParserException,可以说是Unparseable date: "Apr 17, 2016" (at offset 12)
发布于 2016-04-19 17:22:10
当您提供日期格式字符串时,所有字符都必须以某种方式解释dateString中的所有文本,包括文字空格字符。
格式字符串的末尾有一个空格字符:
"MMMM d, yyyy "删除该空间(或在dateString字符串的末尾包含一个空格)。
Text:用于格式化的,如果模式字母的数量为4个或更多,则使用完整的表单;否则,如果可用,则使用简短的表单。对于解析,两种表单都被接受,与模式字母的数量无关。
发布于 2016-04-19 17:25:56
您的日期掩码中有一个小绑定:最后一个空白太多了:
DateFormat dateFormat = new SimpleDateFormat("MMMM d, yyyy ", Locale.ENGLISH);它应该是:
DateFormat dateFormat = new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH);这就是为什么错误指向“偏移12":DateFormat期望该位置为空白。
发布于 2016-04-19 17:52:43
您需要删除字符串格式上的最后一个空格。
你真的有
DateFormat dateFormat = new SimpleDateFormat("MMMM d, yyyy ", Locale.ENGLISH);它应该是
DateFormat dateFormat = new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH);https://stackoverflow.com/questions/36725231
复制相似问题