尝试转换格式时无法解析日期

Unparseable date while trying to convert format

我目前正在做一个项目,需要我将日期从一种格式转换为另一种格式。

这是我的代码

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

public class testDate {

    static String date = "Wed Mar 27 18:14:25 CET 2019";                    // String representing received date
    static final String originalFormatS = "EEE MMM dd HH:mm:ss zzz yyyy";    // Corresponding date format
    static final String displayFormatS = "dd/MM/yy";                         // Wanted output format

    public static void main (String[] args) throws Exception {
        DateFormat originalFormat = new SimpleDateFormat(originalFormatS);
        DateFormat displayFormat = new SimpleDateFormat(displayFormatS);

        Date parsedDate = originalFormat.parse(date);
        String outputDate = displayFormat.format(parsedDate);

        System.out.println(outputDate);
    }

}

但后来我得到 java.text.ParseException:无法解析的日期:"Wed Mar 27 18:14:25 CET 2019"

我试过 new Date(date); 但它说它已被弃用...

有什么想法吗? 提前致谢

你不在英国或美国,是吗?

SimpleDateFormat 需要语言环境才能正确解释 day/month 名称。

只需像这样创建您的 SimpleDateFormat

DateFormat originalFormat = new SimpleDateFormat(originalFormatS, Locale.US);

适合我...

PS:就像 Ben R. 所说:考虑使用 java.time 进行任何基于 date/time 的数据处理。

请在创建 SimpleDateFormat 实例时指定您的语言环境。 例如,使构造函数如下所示应该可以工作

DateFormat originalFormat = new SimpleDateFormat(originalFormatS,Locale.US);

你能试试这个吗?

public class testDate {

static String date = "Wed Mar 27 18:14:25 CET 2019";                    // String representing received date
static final String originalFormatS = "EEE MMM dd HH:mm:ss zzz yyyy";    // Corresponding date format
static final String displayFormatS = "dd/MM/yy";                         // Wanted output format

public static void main (String[] args) throws Exception {
    Date originalFormat = new SimpleDateFormat(originalFormatS).parse(date);
    DateFormat displayFormat = new SimpleDateFormat(displayFormatS);

    String outputDate = displayFormat.format(originalFormat);

    System.out.println(outputDate);
}

}