比较java中的日期会给出错误的结果

时间:2015-07-31 06:28:14

标签: java datetime

我使用以下代码比较日期

String sCreatedDate = "30.07.201514:57:03";
String sModifiedDate = "30.07.201515:40:34";            
SimpleDateFormat parser = new SimpleDateFormat("dd.MM.yyyyHH:MM:SS");

Date d1 = parser.parse(sCreatedDate);
Date d2 = parser.parse(sModifiedDate);         
System.out.println(d1.before(d2));

打印false,但我希望打印true

你能否解释一下我在这段代码中做错了什么?

但是,上面的代码适用于以下日期并打印真实值:

String sCreatedDate = "23.07.201507:25:35";
String sModifiedDate = "23.07.201507:26:07";

1 个答案:

答案 0 :(得分:9)

在格式结束时,您使用了MM(月)代替mm(分钟)。

String sCreatedDate = "30.07.201514:57:03";
String sModifiedDate = "30.07.201515:40:34";            
SimpleDateFormat parser = new SimpleDateFormat("dd.MM.yyyyHH:mm:ss");//mm small
Date d1 = parser.parse(sCreatedDate);
Date d2 = parser.parse(sModifiedDate);         
System.out.println(d1.before(d2));//true