小编典典

无法解析的日期

java

我有一个字符串日期“ 31-Dec”和模式“ dd-MMM”。接下来的代码

DateFormat formatter = new SimpleDateFormat(pattern);
formatter.setTimeZone(timeZone);
formatter.parse(input);

产生异常

java.text.ParseException: Unparseable date: "31-Dec"
    at java.text.DateFormat.parse(DateFormat.java:337)....

我做错什么了?

谢谢!


阅读 273

收藏
2020-11-26

共1个答案

小编典典

一个问题可能是您Locale不是英语。试试这个:

DateFormat formatter = new SimpleDateFormat("dd-MMM", Locale.ENGLISH);
try {
    System.out.println(formatter.parse("31-Dec"));
} catch (ParseException e) {
    e.printStackTrace();
}

这为我返回:

1970年12月31日星期四00:00:00欧洲中部时间

由于日期字符串中缺少年份,因此您会看到它会自动插入1970为年份。

2020-11-26