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

来源:互联网 发布:上海博物馆淘宝 编辑:程序博客网 时间:2024/04/27 03:19

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

public class DateUtil{public static int betweenDays(Date startDate, Date endDate ) throws Exception {Calendar beginCalendar = Calendar.getInstance();Calendar endCalendar = Calendar.getInstance() ; try {beginCalendar.setTime( startDate ) ;endCalendar.setTime( endDate ) ;if (beginCalendar.get(Calendar.YEAR) == endCalendar.get(Calendar.YEAR)) {return endCalendar.get(Calendar.DAY_OF_YEAR)- beginCalendar.get(Calendar.DAY_OF_YEAR);} else {if (beginCalendar.getTimeInMillis() < endCalendar.getTimeInMillis()) {int days = beginCalendar.getActualMaximum(Calendar.DAY_OF_YEAR)- beginCalendar.get(Calendar.DAY_OF_YEAR)+ endCalendar.get(Calendar.DAY_OF_YEAR);for (int i = beginCalendar.get(Calendar.YEAR) + 1; i < endCalendar.get(Calendar.YEAR); i++) {Calendar c = Calendar.getInstance();c.set(Calendar.YEAR, i);days += c.getActualMaximum(Calendar.DAY_OF_YEAR);}return days;} else {int days =endCalendar.getActualMaximum(Calendar.DAY_OF_YEAR)- endCalendar.get(Calendar.DAY_OF_YEAR)+ beginCalendar.get(Calendar.DAY_OF_YEAR);for (int i = endCalendar.get(Calendar.YEAR) + 1; i < beginCalendar.get(Calendar.YEAR); i++) {Calendar c = Calendar.getInstance();c.set(Calendar.YEAR, i);days += c.getActualMaximum(Calendar.DAY_OF_YEAR);}return days;}}} catch (Exception e) {throw e;}}}


原创粉丝点击