如何在Java中将时间字符串转换为日期?解析异常

问题描述

时间字符串类似Tue Feb 09 10:23:31 CST 2021,如何转换为日期对象? 这是我的代码

SimpleDateFormat dateFormat = new SimpleDateFormat("E M d hh:mm:ss z yyyy");
Date parsedDate = dateFormat.parse("Tue Feb 09 10:23:31 CST 2021");
System.out.println("===>"+parsedDate.getTime());

它抛出以下异常:

java.text.ParseException: Unparseable date: "Tue Feb 09 10:23:31 CST 2021"

at java.text.DateFormat.parse(DateFormat.java:366)

解决方法

哦,我找到了根本原因,SimpleDateFormat 是错误的。应该是 "EEE MMM dd hh:mm:ss zzz yyyy"

        SimpleDateFormat dateFormat = new SimpleDateFormat("EEE MMM dd hh:mm:ss zzz yyyy");
        Date parsedDate = dateFormat.parse("Tue Feb 09 10:23:31 CST 2021");
        System.out.println("===>"+parsedDate.getTime());

现在可以使用了。