首页 > 解决方案 > java.text.ParseException:无法解析的日期:“2020 年 3 月 11 日,星期三”

问题描述

从请求中收到的完整日期是这种格式

Wed Mar 11 2020 05:29:01 GMT+0100 (West Africa Standard Time)

现在我将它添加到这个 - 2020 年 3 月 11 日星期三

date.substring(0,15))

为了使我能够保存日期,我将其解析如下

SimpleDateFormat format = new SimpleDateFormat("YYYY-MM-dd", Locale.ENGLISH);
Date parsedDate = null;
try {
    parsedDate = format.parse(date);
} catch (ParseException e) {
    e.printStackTrace();
}

运行代码时,出现以下错误

java.text.ParseException: Unparseable date: "Wed Mar 11 2020"

我也尝试过解析

SimpleDateFormat format = new SimpleDateFormat("EE MMM dd HH:mm:ss z yyyy",
                Locale.ENGLISH);

基于 SO 答案,我仍然收到日期解析错误。

我如何解析这个日期 - date.substring(0,15))

标签: javadate

解决方案


您需要匹配日期的格式EEE MMM dd yyyy是例如

String date = "Wed Mar 11 2020 05:29:01 GMT+0100 (West Africa Standard Time)";
date = date.substring(0,15);
SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd yyyy");
Date parsedDate = null;
try {
    parsedDate = format.parse(date);
} catch (Exception e) {
    e.printStackTrace();
}     
System.out.println(parsedDate);
SimpleDateFormat outformat = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(outformat.format(parsedDate));

输出:

Wed Mar 11 00:00:00 CET 2020
2020-03-11

推荐阅读