首页  >  文章  >  Java  >  如何在 Java 中解析带有缩写日和月名称的日期字符串?

如何在 Java 中解析带有缩写日和月名称的日期字符串?

Barbara Streisand
Barbara Streisand原创
2024-11-17 05:21:03850浏览

How to Parse a Date String with Abbreviated Day and Month Names in Java?

将日期字符串解析为日期对象

将日期字符串解析为日期对象是编程中的常见任务。但是,使用错误的模式可能会导致异常。

问题

以下代码片段尝试解析日期字符串“Thu Sep 28 20:29:30 JST” 2000” 到 Date 对象中:

String target = "Thu Sep 28 20:29:30 JST 2000";
DateFormat df = new SimpleDateFormat("E MM dd kk:mm:ss z yyyy");
Date result = df.parse(target);

但是,此代码会抛出一个异常:

java.text.ParseException: Unparseable date: "Thu Sep 28 20:29:30 JST 2000"

解决方案

问题出在日期格式模式上。模式“E MM dd kk:mm:ss z yyyy”使用以下缩写:

  • E 表示 3 个字母的日缩写
  • MM 表示 3 个字母的月份缩写

但是,在提供的日期字符串中,日期和月份缩写的长度不超过 3 个字符。要解决此问题,请使用以下模式:

DateFormat df = new SimpleDateFormat("EEE MMM dd kk:mm:ss z yyyy", Locale.ENGLISH);

此模式指定:

  • EEE 表示 3 个字母的英语日缩写
  • MMM 表示 3-字母月份缩写英语

其他注意事项

考虑使用“HH”而不是“kk”来表示一天中的小时。有关日期格式模式的更多信息,请参阅 Java 文档。

以上是如何在 Java 中解析带有缩写日和月名称的日期字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn