gpt4 book ai didi

java - 将字符串转换为日期错误解析

转载 作者:行者123 更新时间:2023-12-01 13:52:45 24 4
gpt4 key购买 nike

我看了很多例子,但仍然找不到符合我问题的答案。我现在已经被困一个小时了,需要帮助。

我有很多格式如下的字符串:

Wed, 06 Nov 2013 18:14:02

我创建了一个函数来将这些字符串转换为日期:

private static Date toDate(String pubDateString) {
SimpleDateFormat dateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss");

pubDateString = pubDateString.substring(0, 25);
Date date = null;
try {
date = dateFormat.parse(pubDateString);
} catch (ParseException e1) {
e1.printStackTrace();
}

return date;
}

我得到的是 ParseException:java.text.ParseException:无法解析的日期:“星期三,2013 年 11 月 6 日 18:14:02”

有人可以帮助我应对我的第一个挑战吗?谢谢。

编辑:我尝试过 HH 和 kk

最佳答案

(当我最初回答问题时,格式字符串使用 hh - 此后已更改。)

您使用 hh 作为小时部分,这是一种 12 小时格式 - 但提供一个使用“18”的字符串。您想要HH

此外,如果您知道这些值将始终使用英文名称,我建议您明确指定区域设置。

我已经验证,如果您显式指定区域设置,代码肯定可以工作 - 至少在 Oracle 的 Java 7 实现下是这样:

SimpleDateFormat dateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss",
Locale.US);

如果在未指定区域设置的情况下(但使用 HH)它无法为您工作,这可能就是原因 - 可能您的系统区域设置不是英语,因此它需要不同的月份和日期名称.

关于java - 将字符串转换为日期错误解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19844380/

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