改用Java8的日期库修复了BUG
public static int differentDays(Date date1,Date date2){
if(date1==null||date2 ==null){
throw new RuntimeException("日期不能为空");
}
LocalDate localDate1 = dateLocalDate(date1);
LocalDate localDate2 = dateLocalDate(date2);
long until = localDate1.until(localDate2, ChronoUnit.DAYS);
System.out.println(until);
return (int) until;
}
private static LocalDate dateLocalDate(Date date) {
Instant instant=date.toInstant();
ZoneId zoneId = ZoneId.systemDefault();
return instant.atZone(zoneId).toLocalDate();
}