我有一个像这样的日期时间字符串: 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);
但是我得到了“无法解释的日期”
答案 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
类中,了解格式符号和
演示文稿说明正确的符号计数。