gpt4 book ai didi

Java从字符串中解析日期

转载 作者:行者123 更新时间:2023-11-30 02:32:01 24 4
gpt4 key购买 nike

我正在尝试将String解析为Data,我创建了DataParser,根据日期格式,我编写的代码是这样的:

    String date_s = "04-May-2017 17:28:27";
DateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
Date date;
try {
date = formatter.parse(date_s);
System.out.println(date);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

当我执行这个时,我总是遇到异常

java.text.ParseException: Unparseable date: "04-May-2017 17:28:27"

我不明白为什么数据没有被解析,有人可以帮助我吗?

最佳答案

如果没有现代解决方案,这条答案就不会完整。现在,您不应再使用 DateSimpleDateFormat,而是切换到较新的日期和时间类:

    DateTimeFormatter formatter 
= DateTimeFormatter.ofPattern("dd-MMM-yyyy HH:mm:ss", Locale.ENGLISH);
LocalDateTime dateTime;
try {
dateTime = LocalDateTime.parse(date_s, formatter);
System.out.println(dateTime);
} catch (DateTimeParseException e) {
System.err.println(e);
}

这会打印

2017-05-04T17:28:27

(LocalDateTime.toString() 返回 ISO 8601 格式)如果省略 Locale.ENGLISH,在我的计算机上我会得到

Text '04-May-2017 17:28:27' could not be parsed at index 3

索引 3 是五月 的位置,因此该消息有些帮助。

LocalDateTimeDateTimeFormatter 是在 Java 8 中引入的,但也已向后移植到 Java 6 和 7。

关于Java从字符串中解析日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44066459/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com