我有一个看起来像这样的日期:
Sun Dec 29 00:24:09 CET 2019
我有一个实用工具,可以将字符串日期从一种格式解析为另一种:
public String formatDate(String date, String fromFormat, String toFormat) throws Exception {
SimpleDateFormat from = new SimpleDateFormat(fromFormat);
SimpleDateFormat to = new SimpleDateFormat(toFormat);
return to.format(from.parse(date));
}
但是,对于上述日期格式,我找不到正确的日期格式来指示我的方法。根据SimpleDateFormat patterns documentation,应该是(如果我没记错的话)以下(对于Sun Dec 29 00:24:09 CET 2019
):
"E M d HH:mm:ss z yyyy"
但是,它引发以下异常:
java.text.ParseException: Unparseable date: "Sun Dec 29 00:24:09 CET 2019"
at java.text.DateFormat.parse(DateFormat.java:366)
at com.aptar.simulator.Utils.formatDate(Utils.java:60)
该方法这样调用:
formatDate(exDate, "E M d HH:mm:ss z yyyy", "dd-MM-yyyy HH:mm:ss");
哪里
exDate = "Sun Dec 29 00:24:09 CET 2019"
日期格式应为
尝试以下解决方案-
请找到下面的代码段以解决您的问题。问题是字母代码正确,但是字符计数不匹配,从而导致了问题。例如:Sun有3个字符,但您在格式化程序中使用的是单个E。