SimpleDateFormat 无法解析的日期异常

SimpleDateFormatter Unparseable date exception

我有一个字符串日期 Wed, 30 Mar 2016 01:39:56 +0000 我想将其转换为日期格式 "yyyy-MM-dd"

下面是我试图实现的代码行。但它返回无法解析的日期异常

String date_s = "Wed, 30 Mar 2016 01:39:56 +0000";
SimpleDateFormat dt = new SimpleDateFormat("yyyy-MM-dd");
Date date = dt.parse(date_s);  
SimpleDateFormat dt1 = new SimpleDateFormat("MMM d, yyyy");
System.out.println(dt1.format(date));

有什么建议吗?

'Wed, 30 Mar 2016 01:39:56 +0000' 的格式不正确,yyyy-MM-dd 无法解析它

如果你想让它工作,试试这个:

SimpleDateFormat in = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.ENGLISH);
SimpleDateFormat out = new SimpleDateFormat("yyyy-MM-dd");

Date date = in.parse("Wed, 30 Mar 2016 01:01:01 +0000");
String outdate = out.format(date);
System.out.println(outdate);

Ideone

自 Java 8 起,您可以使用 java.time 库在一行中完成。

LocalDateTime.parse("Wed, 30 Mar 2016 01:39:56 +0000", DateTimeFormatter.RFC_1123_DATE_TIME)
             .format(DateTimeFormatter.ISO_LOCAL_DATE);