Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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 如何检查两个日期之间是否至少相差1天_Java_Date_Compare_Gregorian Calendar - Fatal编程技术网

Java 如何检查两个日期之间是否至少相差1天

Java 如何检查两个日期之间是否至少相差1天,java,date,compare,gregorian-calendar,Java,Date,Compare,Gregorian Calendar,因此,我必须检查两个日期之间的差异是否至少为一天。然后该方法应返回true,否则为false 我使用的日期格式是gregorianalendar(年、月、日) 因此,我已经有了一个使用date1.before(date2)的方法,但它也会检查时间,因此如果date1在date2之前,它会返回true,即使它们是同一天(但时间不同!) 我需要的是一种方法来检查日期之间的差异是否至少为1天 有什么想法吗?在cal1中添加1天,然后测试是否在cal2之后 cal1.add(Calendar.D

因此,我必须检查两个日期之间的差异是否至少为一天。然后该方法应返回true,否则为false

我使用的日期格式是
gregorianalendar(年、月、日)

因此,我已经有了一个使用
date1.before(date2)
的方法,但它也会检查时间,因此如果
date1
date2
之前,它会返回true,即使它们是同一天(但时间不同!)

我需要的是一种方法来检查日期之间的差异是否至少为1天


有什么想法吗?

在cal1中添加1天,然后测试是否在cal2之后

    cal1.add(Calendar.DATE, 1);
    System.out.println(!cal1.after(cal2));

在cal1中添加1天,如果不是在cal2之后,则进行测试

    cal1.add(Calendar.DATE, 1);
    System.out.println(!cal1.after(cal2));

您可以使用以下内容:

public boolean dateDifference(Date d1, Date d2)
{ 
long currentDateMilliSec = d1.getTime();
long updateDateMilliSec = d2.getTime();
long diffDays = (currentDateMilliSec - updateDateMilliSec) / (24 * 60 * 60 * 1000);
if (diffDays >= 1) return true;
else return false;
}

您可以使用以下内容:

public boolean dateDifference(Date d1, Date d2)
{ 
long currentDateMilliSec = d1.getTime();
long updateDateMilliSec = d2.getTime();
long diffDays = (currentDateMilliSec - updateDateMilliSec) / (24 * 60 * 60 * 1000);
if (diffDays >= 1) return true;
else return false;
}

在执行此操作之前,您还需要检查
cal1.before(cal2)=true
在执行此操作之前,您还需要检查
cal1.before(cal2)=true