日志(2个不同的日期):
START TIME BEFORE PARSE: 06/27/2012 09:00
START TIME AFTER PARSE : Thu Mar 06 09:00:00 EET 2014
START TIME BEFORE PARSE: 07/06/2012 09:00
START TIME AFTER PARSE : Thu Jun 07 09:00:00 EEST 2012
代码:
DateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm");
Date date = sdf.parse(time);
System.out.println("TIME BEFORE PARSE: " + time);
System.out.println("TIME AFTER PARSE : " + date);
为什么它搞乱了一年? 如何得到它的工作?
因为你倒月份与日期:
dd/MM/yyyy HH:mm
06/27/2012 09:00
没有在一年内第27个月。
在第一个例子中的月份是27
这是不是在任何日历我所知道的有效。 (你可能刚刚得到了日/月排序错误,或者在你的输入,或在格式您选择。)
您可以使用模式DD / MM / YYYY解析日期06月27日。 我怀疑是27个月。 适当的格式是MM / DD / YYYY。
该日期格式是默认宽松,因此将考虑27为有效的月份:2年+ 3个月,让你在大游行,2年后结束。
String time = "06/27/2012 09:00";
DateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm");
Date date = sdf.parse(time);
System.out.println("TIME BEFORE PARSE: " + time);
System.out.println("TIME AFTER PARSE : " + date);
在您的示例日期格式是错误的。 你必须给 “DD / MM / YYYY HH:MM”,这应该是 “MM / DD / YYYY HH:MM”
你已经使用的模式DD / MM / YYYY,但是你输入的日期为MM / DD / YYYY,给你造成这种怪异的行为..