我有一个字符串日期"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)
我做错了什么?
谢谢!
一个问题可能是你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年份.