我有一个字符串日期星期三,2016年3月30日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));
有什么建议吗?
答案 0 :(得分:4)
'周三,2016年3月30日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);
答案 1 :(得分:4)
从Java 8开始,您可以使用java.time库在一行中完成。
LocalDateTime.parse("Wed, 30 Mar 2016 01:39:56 +0000", DateTimeFormatter.RFC_1123_DATE_TIME)
.format(DateTimeFormatter.ISO_LOCAL_DATE);