字符串无法解析的日期

时间:2020-01-12 20:30:42

标签: java

我有一个像这样的日期时间字符串: Java代码:

String datetimeString = "Tue Apr 10 15:19:06 CEST 2018";

我想将此转换为如下日期:2018-04-10 我怎样才能做到这一点? 我已经尝试过了:

Date result;
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
result = formatter.parse (datetimeString);

但是我得到了“无法解释的日期”

1 个答案:

答案 0 :(得分:3)

既然您已经应用了蛮力方法,那么下面就是使用API​​的方法。

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;


public class DateTest {


   public static void main(String[] args) throws Exception {
      String datetimeString = "Tue Apr 10 15:19:06 CEST 2018";

      String from_format = "E MMM dd HH:mm:ss z yyyy";
      String to_format = "yyyy-MM-dd";

      DateTimeFormatter from_formatter = DateTimeFormatter.ofPattern(from_format);
      DateTimeFormatter to_formatter = DateTimeFormatter.ofPattern(to_format);

      LocalDateTime ldt = LocalDateTime.parse(datetimeString, from_formatter);

      System.out.println(ldt.format(to_formatter));
   }
}

DateTimeFormatter类中,了解格式符号和 演示文稿说明正确的符号计数。

相关问题