首页 >Java >java教程 >如何解析带有缩写日和月名称的日期字符串?

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

Patricia Arquette
Patricia Arquette原创
2024-12-01 08:12:11758浏览

How to Parse Date Strings with Abbreviated Day and Month Names?

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

要将日期字符串转换为日期对象,SimpleDateFormat 类提供了一个 parse 方法。但是,如果提供的模式与输入日期字符串不匹配,则会抛出 ParseException。

解决方案

在这种情况下,输入日期字符串包括“Thu " 和 "Sep",分别表示缩写的日期和月份名称。正确的模式应该对这些元素使用“EEE”和“MMM”。此外,语言环境必须显式设置为英语,以避免特定于语言环境的问题。

更正的代码是:

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Date;
import java.util.Locale;

public class DateParser {

    public static void main(String[] args) throws ParseException {
        String target = "Thu Sep 28 20:29:30 JST 2000";
        DateFormat df = new SimpleDateFormat("EEE MMM dd kk:mm:ss z yyyy", Locale.ENGLISH);
        Date result = df.parse(target);
        System.out.println(result);
    }
}

此代码打印正确的 Date 对象,针对指定时区进行调整:

Thu Sep 28 07:29:30 BOT 2000

额外注意事项

解析日期字符串时,您可能还需要考虑使用“HH”而不是“kk”作为小时模式,因为它代表 24 小时时间表示法。有关有效模式的更多信息,请参阅 SimpleDateFormat 文档。

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

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