当前位置: 首页 > 面试题库 >

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

能翔宇
2023-03-14
问题内容

我尝试了这个:

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

错误:

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

Java文档说我应该使用四个字符来匹配完整格式。我只能在 “ Jun”之 类的缩写月份内成功使用 MMM ,但我需要填写完整的表格。 __

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

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


问题答案:

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

尝试指定您要使用的语言环境,例如Locale.US

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

另外,日期字符串中还有多余的空格,但这实际上对结果没有影响。无论哪种方式都可以。



 类似资料:
  • 问题内容: 我想将以下字符串解析为日期: 我遵循了这一点,想到了: 就像英语字符串的魅力一样。 我的问题 :我想解析 德语字符串 。喜欢: 我知道,我可以通过正则表达式匹配日,月和年,然后进行解析。但是有没有可能 告诉time.Parse为month使用不同的常量集 ? 问题答案: 该时间包目前不支持i18n。等待发生这种情况时,您可以尝试使用包装程序包,例如: github.com/goodsi

  • 问题内容: 有没有更好的方法来压缩此方法,即通过避免切换情况来降低圈复杂度? 问题答案: 尝试: 另外,您可以使用SimpleDateFormat: (要使用第二个选项,您必须在对象中添加日期和月份)。

  • 问题内容: 我一直在搜索,只是找不到解释或原因,但DateFormat的parse(String)方法只是不能正确解析我的String。 我正在尝试将String解析为用于HTTP标头的日期格式,并尽可能地获取String,例如: 格式为: 但是,当我使用它时,我会从中得到: 哪一个都不像我想要的,为什么现在格林尼治标准时间之后的一年?为什么不再有逗号?为什么日期在一个月之后? 我现在对此完全感到

  • 问题内容: 如何将月份字符串转换为整数? 在单击方法上,我想显示选定的日期,但是如果该日期有一个事件,它应该显示有关该事件的更多信息。检查假日事件的方法需要整数值。 这是代码: 更新: 问题答案: 看到 IDE一演示

  • 我试着比较这两个日期: 不工作会导致此错误:

  • 问题内容: 给定字符串,获取代表它的DOM元素的(最简单)方法是什么? 问题答案: 我在某个地方找到了(不记得在哪里):