Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将当前日期与以前的日期进行比较_Java - Fatal编程技术网

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     }