如何使用 Java 中的 DateFormat 解析月份完整形式字符串?

2023-11-27

我试过这个:

DateFormat fmt = new SimpleDateFormat("MMMM dd, yyyy");
Date d = fmt.parse("June 27, 2007");

error:

Exception in thread "main" java.text.ParseException: Unparseable date: "June 27, 2007"

java 文档说我应该使用四个字符来匹配完整的形式。 我只能使用MMM成功地使用缩写月份,例如"Jun"但我需要匹配完整的形式。

文本:用于格式化,如果数字 模式字母为 4 个或更多,则 使用完整形式;否则短路 或使用缩写形式,如果 可用的。对于解析,两种形式都是 接受,与数量无关 图案字母。

https://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html


您可能使用的语言环境中月份名称不是“一月”、“二月”等,而是您当地语言中的其他单词。

尝试指定您想要使用的区域设置,例如Locale.US:

DateFormat fmt = new SimpleDateFormat("MMMM dd, yyyy", Locale.US);
Date d = fmt.parse("June 27,  2007");

另外,日期字符串中有一个额外的空格,但实际上这对结果没有影响。无论哪种方式都有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Java 中的 DateFormat 解析月份完整形式字符串? 的相关文章

随机推荐