做项目时用到两个日期的日期差,本来以为是很简单的一个问题,结果发现Date类还真的没有封装好的函数。翻看网上的教程,基本都是用Calendar类 或将Date化成long型加减10006060*24计算。
看起来很不爽。翻找了很久,找到了下面这种方法。直接上代码。
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
import java.time.temporal.Temporal;
import java.util.Date;
public class Test {
public static void main(String[] args){
Date date =new Date();
Date date2 = new Date();
date.setTime(.getTime()+1000*60*60*24*19);
Temporal temporal =date.toInstant();
Temporal temporal1 =date2.toInstant();
long i = ChronoUnit.DAYS.between(temporal1,temporal);
System.out.println(date2);
System.out.println(date);
System.out.println(i);
}
}
可以处理跨月份的问题。结果如下: