Instant、LocalDate、LocalDateTime两日期相差时间(天):
/**
* 两日期差多少天
* @param start
* @param end
* @return 大于0 start< end end - start的结果
*/
public static long getDifferDay(Instant start,Instant end){
return start.until(end, ChronoUnit.DAYS);
}
public static long getDifferDay(LocalDate start, LocalDate end){
return start.until(end, ChronoUnit.DAYS);
}
public static long getDifferDay(LocalDateTime start, LocalDateTime end){
return start.until(end, ChronoUnit.DAYS);
}
小时:把ChronoUnit.DAYS改为ChronoUnit.HOURS;
年:ChronoUnit.YEARS
周、秒等的相同
也可以使用ChronoUnit.DAYS.between(start,end)的底层使用了start.until(end, ChronoUnit.DAYS)的方法,都是end - start 的结果;
@Override public long between(Temporal temporal1Inclusive, Temporal temporal2Exclusive) { return temporal1Inclusive.until(temporal2Exclusive, this); }