jackyrong 发表于 2013-2-3 10:31:06

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]
查看完整版本: java中求两个日期之间的天数