每天一篇开发日记,轻松快乐每一天!今天介绍的是利用java,Calendar类计算出两个日期之间的天数和周数的算法!
计算出日期之间的天数:
public Object countTwoDate(Object startDate, Object endDate)
{
if(StringUtils.isNotEmpty(startDate) && StringUtils.isNotEmpty(endDate))
{
Date start=(Date)startDate;
Date end = (Date)endDate;
Calendar cal=Calendar.getInstance();
cal.setTime(start);
long time1=cal.getTimeInMillis();
cal.setTime(end);
long time2=cal.getTimeInMillis();
long between_days=(time2-time1)/(1000*3600*24);
return Integer.parseInt(String.valueOf(between_days));
}
return null;
}
再计算出周数:
public Object countTwoDayWeek(Object startDate, Object endDate)
{
if(StringUtils.isNotEmpty(startDate) && StringUtils.isNotEmpty(endDate))
{
Date start=(Date)startDate;
Date end = (Date)endDate;
Calendar cal=Calendar.getInstance();
cal.setTime(start);
long time1=cal.getTimeInMillis();
cal.setTime(end);
long time2=cal.getTimeInMillis();
long between_days=(time2-time1)/(1000*3600*24);
Double days=Double.parseDouble(String.valueOf(between_days));
if((days/7)>0 && (days/7)<=1){
//不满一周的按一周算
return 1;
}else if(days/7>1){
int day=days.intValue();
if(day%7>0){
return day/7+1;
}else{
return day/7;
}
}else if((days/7)==0){
return 0;
}else{
//负数返还null
return null;
}
}
return null;
}