我想比较两个日期。我的第一次约会是:
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”,因为它只是比较年份而不是整个日期。 你们中的任何人都可以找出我所缺少的东西。我尝试了很多方法但是没有成功。请告诉我是否可以解决这个问题,或者我需要一个不同的解决方案。
感谢。
答案 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 }