解析java错误的日期格式
我编写了以下代码来解析一个简单的日期,比如“09-MAR-17”:
DateFormat df = new SimpleDateFormat("dd-MMM-yy");
Date start = null;
Date end = null;
try {
start = df.parse(data.get(i)[Columns.PACKAGESTART.ordinal()]);
end = df.parse(data.get(i)[Columns.PACKAGEEND.ordinal()]);
} catch (ParseException ex) {
ex.printStackTrace();
}
但是,这会引发以下异常:
java.text.ParseException: Unparseable date: "07-MAR-17"
at java.text.DateFormat.parse(DateFormat.java:357)
但是我不知道为什么。“dd-MMM-yy”格式不正确吗
编辑:在netbeans中运行这段代码给了我一个例外,在eclipse中运行完全相同的代码似乎是可行的
# 1 楼答案
要解析“MAR!”字符串(你需要按以下顺序解析代码)
正如@SmallHacker所认为的,这是解析中的本地化问题
# 2 楼答案
我对此进行了一些实验,发现解析依赖于语言环境。例如,“07-MAY-17”将适用于英语地区,但不适用于瑞典语地区(5月名为“maj”)。我怀疑你也在经历类似的事情