0

我正在尝试比较两个日期。我的第一次约会是:

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”,因为它只比较年份而不是整个日期。你们中的任何人都可以弄清楚我缺少什么吗?我尝试了很多方法,但都没有成功。请让我知道我是否可以解决这个问题,或者我需要一个不同的解决方案。

谢谢。

4

1 回答 1

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     }
于 2012-09-27T15:52:44.887 回答