java如何计算出两日期之间的天数差
时间: 2023-09-28 13:05:34 浏览: 78
JAVA求两个日期之间相差的天数
5星 · 资源好评率100%
可以使用Java中的日期类Date和Calendar来计算两个日期之间的天数差。
以下是一种计算两个日期之间天数差的方法:
```java
import java.util.Calendar;
import java.util.Date;
public class DateUtils {
public static int daysBetween(Date startDate, Date endDate) {
Calendar start = Calendar.getInstance();
start.setTime(startDate);
start.set(Calendar.HOUR_OF_DAY, 0);
start.set(Calendar.MINUTE, 0);
start.set(Calendar.SECOND, 0);
start.set(Calendar.MILLISECOND, 0);
Calendar end = Calendar.getInstance();
end.setTime(endDate);
end.set(Calendar.HOUR_OF_DAY, 0);
end.set(Calendar.MINUTE, 0);
end.set(Calendar.SECOND, 0);
end.set(Calendar.MILLISECOND, 0);
long days = (end.getTimeInMillis() - start.getTimeInMillis()) / (24 * 60 * 60 * 1000);
return (int) days;
}
}
```
在上面的代码中,我们首先通过Calendar.getInstance()方法获取当前时间的Calendar实例,然后将日期设置为0时0分0秒,这样可以确保在计算天数时不会受到小时、分钟和秒的影响。然后通过getTimeInMillis()方法获取日期的毫秒数,并将其除以24*60*60*1000,得到两个日期之间的天数差。
使用时,只需要调用该方法并传入要计算的两个日期即可,例如:
```java
Date startDate = new Date();
Date endDate = new Date(System.currentTimeMillis() + 24 * 60 * 60 * 1000);
int days = DateUtils.daysBetween(startDate, endDate);
System.out.println(days); // 输出1
```
这段代码会输出1,因为endDate比startDate晚一天。
阅读全文