首页 > 解决方案 > 如何在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)

标签: javadatesimpledateformatdatetime-parsing

解决方案


哦,我找到了根本原因,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());

现在可以了。


推荐阅读