Java SimpleDataFormat:不可解析日期MMMM yyyy

Java SimpleDataFormat:不可解析日期MMMM yyyy,java,date,parsing,simpledateformat,Java,Date,Parsing,Simpledateformat,我需要解析字符串“2015年10月”,但是我得到了一个java.text.ParseException。我一直在寻找答案,但我看到的所有示例都包括字符串中的“day”。我需要在不指定日期的情况下转换此字符串 这是我的代码: SimpleDateFormat format = new SimpleDateFormat("MMMM yyyy"); System.out.println("La fecha despues de convertida " + format.parse(search.g

我需要解析字符串
“2015年10月”
,但是我得到了一个
java.text.ParseException
。我一直在寻找答案,但我看到的所有示例都包括字符串中的“day”。我需要在不指定日期的情况下转换此字符串

这是我的代码:

SimpleDateFormat format = new SimpleDateFormat("MMMM yyyy");

System.out.println("La fecha despues de convertida " + format.parse(search.getFecha()));
这是个例外:

java.text.ParseException: Unparseable date: "October 2015"

你所要做的就是指定你的日期模式

DateFormat dateFormat = new SimpleDateFormat("MMMM yyyy");
dateFormat.parse("October 2014");

使用“yyyy”而不是“yyyy”

在Java1.6及之前的版本中,“yyy”被用来解析一周中的年份,在以后的版本中,它被停止使用


编辑:我把外壳弄混了。请忽略此答案,因为它显然与此问题无关。

您使用了什么格式<代码>“MMMM yyyy”对我来说似乎还可以。您可以使用带有空格字符的StringTokenizer类作为分隔符来获取月份和年份。我编辑了问题。您是否至少尝试过阅读重复的问题及其最佳答案?我给你一个提示:由于你不是来自英语国家(根据你的个人资料),你的JVM大概使用了
Locale
,它不懂“十月”,并且有它自己的月份词。所以,试着告诉他使用一个“知道”和理解这个词的语言环境。重复的问题会告诉你怎么做。(重新发布以修复一个讨厌的打字错误)它对我不起作用。。。我编辑了这个问题。你能为你关于“yyyy”已经被使用了一年中的一周的说法引用一个参考资料吗?在和我看到的
w
中使用了“一年中的一周”。因此,在Java中,1.6
yyy
被用于“一周中的一年”,即使源代码提示了其他内容,但在1.7
yyy
中它被取代了,因为现在是“一周中的一年”?有趣。对不起,我把这个案子搞错了。