java中计算两个日期之间相差多少天

时间:2025-02-10 07:50:27
//获取两个传入时间相隔的天数 public static long getInterval(Date begin_date, Date end_date) throws ParseException { long day = 0; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); if(begin_date != null){ String begin = sdf.format(begin_date); begin_date = sdf.parse(begin); }else { begin_date=sdf.parse(sdf.format(new Date())); } if(end_date!= null){ String end= sdf.format(end_date); end_date= sdf.parse(end); }else{ end_date=sdf.parse(sdf.format(new Date())); } long day = (end_date.getTime() - begin_date.getTime()) / (24 * 60 * 60 * 1000); return day>=0?day:-day; } //获取传入时间与当前时间相隔的天数 public static long getInterval(Date date) throws ParseException { long day = 0; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); if(date!= null){ String end= sdf.format(date); date= sdf.parse(end); }else{ throw new NullPointerException() ; } Date nowDate=sdf.parse(sdf.format(new Date())); day = (date.getTime() - nowDate.getTime()) / (24 * 60 * 60 * 1000); return day >= 0 ? day : -day; }