字符串到LocalDateTime的转换:java.time.format.DateTimeParseException

时间:2018-08-09 16:54:16

标签: java dateformatter

我正在使用以下代码在String中转换日期:

    String strDate="Thu Aug 09 16:01:46 IST 2018";        
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
    LocalDateTime dateTime = LocalDateTime.parse(strDate,formatter);

我收到以下异常:

java.time.format.DateTimeParseException: Text 'Thu Aug 09 16:01:46 IST 2018' could not be parsed at index 0

变量'strDate'中的格式相同,不能修改,因为我将从其他应用程序中获取格式

1 个答案:

答案 0 :(得分:1)

您输入的字符串的日期格式为:E MMM dd HH:mm:ss z yyyy。下面的代码应该可以正常工作

public static void main(String[] args) throws IOException {
    String strDate = "Thu Aug 09 16:01:46 IST 2018";
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("E MMM dd HH:mm:ss z yyyy");
    LocalDateTime dateTime = LocalDateTime.parse(strDate, formatter);
}