将当前日期与先前日期进行比较

时间:2012-09-27 15:51:33

标签: java

我想比较两个日期。我的第一次约会是:

Date previousDate ="Returns a date as 2011-12-09 in a gregorian date"

,第二个日期是我的“当前日期”,我的当前日期为:

SimpleDateFormat format = new SimpleDateFormat("yyyy/mm/dd");
Date date=new Date();

当我尝试将当前日期与我之前的日期进行比较时,我只能比较年份(或只是模式中的第一件事)。

System.out.println("date"+previousDate.compareto(format(date));

我可以将输出设为“1”,因为它只是比较年份而不是整个日期。 你们中的任何人都可以找出我所缺少的东西。我尝试了很多方法但是没有成功。请告诉我是否可以解决这个问题,或者我需要一个不同的解决方案。

感谢。

1 个答案:

答案 0 :(得分:1)

通过

SimpleDateFormat(yyyy/mm/dd);

我猜你的意思是

SimpleDateFormat("yyyy/MM/dd");

但重要的是,按惯例compareTo通常会返回-1,0或1。

这是Date#compareTo:

的实现
974     public int compareTo(Date anotherDate) {
975         long thisTime = getMillisOf(this);
976         long anotherTime = getMillisOf(anotherDate);
977         return (thisTime<anotherTime ? -1 : (thisTime==anotherTime ? 0 : 1));
978     }