java中如何计算两个日期之间相差的天数呢?
下文笔者讲述java中计算两个日期之间天数的方法分享,如下所示
计算两个日期之间间隔天数的实现思路 方式1: 年月日之间互相比较 方式2: 转换为毫秒数比较,然后再转换为天数例:计算两个日期之间间隔天数的示例
/** * date2比date1多的天数 * @param date1 * @param date2 * @return */ private static int differentDays(Date date1,Date date2) { Calendar cal1 = Calendar.getInstance(); cal1.setTime(date1); Calendar cal2 = Calendar.getInstance(); cal2.setTime(date2); int day1= cal1.get(Calendar.DAY_OF_YEAR); int day2 = cal2.get(Calendar.DAY_OF_YEAR); int year1 = cal1.get(Calendar.YEAR); int year2 = cal2.get(Calendar.YEAR); if(year1 != year2) {//同一年 int timeDistance = 0 ; for(int i = year1 ; i < year2 ; i ++) { if(i%4==0 && i%100!=0 || i%400==0) //闰年 { timeDistance += 366; } else //不是闰年 { timeDistance += 365; } } return timeDistance + (day2-day1) ; } else {// 不同年 System.out.println("判断day2 - day1 : " + (day2-day1)); return day2-day1; } } 2、两个日期之间相差的天数 以毫秒数精确计算(如相差22小时可能是同一天) /** * 通过秒毫秒数判断两个时间的间隔的天数 * @param date1 * @param date2 * @return */ public static int differentDaysByMillisecond(Date date1,Date date2) { int days = (int) ((date2.getTime() - date1.getTime()) / (1000*3600*24)); return days; }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。