无法解释的日期

Ded*_*hka 1 java date

我有一个字符串日期"31-Dec",模式"dd-MMM".和下一个代码

DateFormat formatter = new SimpleDateFormat(pattern);
formatter.setTimeZone(timeZone);
formatter.parse(input);
Run Code Online (Sandbox Code Playgroud)

生成异常

java.text.ParseException: Unparseable date: "31-Dec"
    at java.text.DateFormat.parse(DateFormat.java:337)....
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

谢谢!

bri*_*ium 5

一个问题可能是你Locale不是英国人.试试这个:

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

这回报给我:

1970年12月31日00:00:00 CET

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