收藏一个常用的代码段,那就是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) {标签:java,中求,int,天数,get,YEAR,Calendar,d2,d1 From: https://blog.51cto.com/u_14230175/5905567
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;
}