Java 将当前日期与以前的日期进行比较
我想比较两个日期。我的第一次约会是:Java 将当前日期与以前的日期进行比较,java,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(); 当我尝试比较当前日期和前一日期时,我只能比较年份(或者只比较模式中的第一件事) 我可以把输出值设为“1
Date previousDate ="Returns a date as 2011-12-09 in a gregorian date"
第二个日期是我的“当前日期”,我的当前日期是:
SimpleDateFormat format = new SimpleDateFormat("yyyy/mm/dd");
Date date=new Date();
当我尝试比较当前日期和前一日期时,我只能比较年份(或者只比较模式中的第一件事)
我可以把输出值设为“1”,因为它只是比较年份,而不是整个日期。
你们中有谁能找出我遗漏了什么。我尝试了很多方法,但都没有成功。请告诉我是否可以解决这个问题,或者我需要一个不同的解决方案
谢谢。作者
SimpleDateFormat(yyyy/mm/dd);
我想你是说
SimpleDateFormat("yyyy/MM/dd");
但重要的一点是,按照惯例,compareTo通常返回-1、0或1
以下是Date#Compare的实施情况:
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 }
974公共整数比较(另一个日期){
975 long ThistTime=getMillisOf(本次);
976 long anotherTime=getMillisOf(另一个日期);
977 return(这一次确切的约定是:负整数、0或正整数。您不能依赖值-1、0和1是的,这是我使用的SimpleDataFormat(“yyy/MM/dd”);那么,还有其他方法可以比较吗?因为这个例子是比较,看看天数不超过30天。@SeanPatrickFloyd是的,但它通常被重新规范化为-1,0,1,Date就是这种情况。我尝试将模式改为mm/dd/yyyy,即使它只返回了月份的值8。我希望你的意思是mm/dd/yyy。但我不这么认为我不明白你的确切目标是什么。不清楚你到底想做什么。如果你想比较两个日期,为什么你要将以前的日期与“年份”进行比较?
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 }