java中求两个日期之间的天数
收藏一个常用的代码段,那就是java中求两个日期间的天数,常见于日历中的两个日期(yyyy-mm-dd)格式,要求它们之间的相差的天数,例子如下:
Calendar startCalendar = Calendar.getInstance();//dstar为yyyy-MM-dd格式的字符串startCalendar.setTime((new SimpleDateFormat("yyyy-MM-dd")).parse(dstar)); Calendar endCalendar = Calendar.getInstance(); endCalendar.setTime((new SimpleDateFormat("yyyy-MM-dd")).parse(dend));int days=new BigDecimal(getDaysBetween(startCalendar, endCalendar)));
其中getDaysBetween方法为:
public int getDaysBetween(Calendar d1, Calendar d2) {if (d1.after(d2)) {java.util.Calendar swap = d1;d1 = d2;d2 = swap;}int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR);int y2 = d2.get(Calendar.YEAR);if (d1.get(Calendar.YEAR) != y2) {d1 = (Calendar) d1.clone();do {days += d1.getActualMaximum(Calendar.DAY_OF_YEAR);// 得到当年的实际天数d1.add(Calendar.YEAR, 1);} while (d1.get(Calendar.YEAR) != y2);}return days;}
页:
[1]