java - 这种 Java 日期格式有什么问题?

标签 java parsing date format

电子邮件的解析器包含以下数据格式定义:

private final static DateFormat dateFormat = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z");


if (line.startsWith("Date:")) {
        try {
            email.date = dateFormat.parse(line.substring(6));
        } catch (ParseException e) {
                System.err.println("Unparsable: " + line.substring(6));
        }

此代码打印错误:

Unparsable: Mon, 15 Jan 2001 23:18:00 -0800 (PST)

为什么格式不匹配?

EEE, d MMM yyyy HH:mm:ss Z

最佳答案

它对我有用 - 但我一开始就在英语语言环境中。这可能是问题所在 - 尝试在构造 SimpleDateFormat 时明确指定语言环境:

private final static DateFormat dateFormat =
    new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z", Locale.US);

否则将使用您当前的系统区域设置,如果不是英语,它将尝试解析不同的月份和日期名称。

关于java - 这种 Java 日期格式有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18078317/

相关文章:

java - 在 ListView android 的底部显示最新项目

java - 无法在 dofilter 方法中获得正确的响应?

C : Parsing options the right way

Java 将 unixtime 转换为日期,给出错误的结果

java - java中有并发循环链接队列集合吗?

java - 选择 LAST_INSERT_ID()

python - BeautifulSoup 3.1 解析器太容易崩溃了

c++ - 如何显示功能的开始,结束行和功能体?

date - 筛选 SharePoint 列表上的年初至今条目

php - 检查php中数据库中的日期字段是否过期