700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java方法 返回两个日期内的所有date集合 根据开始时间 结束时间得到两个时间段内所

java方法 返回两个日期内的所有date集合 根据开始时间 结束时间得到两个时间段内所

时间:2018-12-16 16:55:57

相关推荐

java方法 返回两个日期内的所有date集合 根据开始时间 结束时间得到两个时间段内所

在最近的项目中,有这么一个需求,根据开始时间、结束时间得到两个时间段内所有的日期,以下分享我的代码给大家。

1、以下的这个方法适用于jdk1.5以上的版本

/***根据开始时间和结束时间返回时间段内的时间集合*@parambeginDate*@paramendDate*@returnList*/@SuppressWarnings("unchecked")publicstaticListgetDatesBetweenTwoDate(DatebeginDate,DateendDate){ListlDate=newArrayList();lDate.add(beginDate);//把开始时间加入集合Calendarcal=Calendar.getInstance();//使用给定的Date设置此Calendar的时间cal.setTime(beginDate);booleanbContinue=true;while(bContinue){//根据日历的规则,为给定的日历字段添加或减去指定的时间量cal.add(Calendar.DAY_OF_MONTH,1);//测试此日期是否在指定日期之后if(endDate.after(cal.getTime())){lDate.add(cal.getTime());}else{break;}}lDate.add(endDate);//把结束时间加入集合returnlDate;}

2、以下的方法适用于jdk1.4以下的版本

/***根据开始时间和结束时间返回时间段内的时间集合*@parambeginDate*@paramendDate*@returnList*/publicstaticListgetDatesBetweenTwoDate(DatebeginDate,DateendDate){ListlDate=newArrayList();lDate.add(beginDate);//把开始时间加入集合Calendarcal=Calendar.getInstance();//使用给定的Date设置此Calendar的时间cal.setTime(beginDate);booleanbContinue=true;while(bContinue){//根据日历的规则,为给定的日历字段添加或减去指定的时间量cal.add(Calendar.DAY_OF_MONTH,1);//测试此日期是否在指定日期之后if(endDate.after(cal.getTime())){lDate.add(cal.getTime());}else{break;}}lDate.add(endDate);//把结束时间加入集合returnlDate;}

3、调用测试

publicstaticvoidmain(String[]args)throwsException{System.out.println("jdk1.6测试");Calendarcal=Calendar.getInstance();Stringstart="-01-03";Stringend="-03-05";SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");DatedBegin=sdf.parse(start);DatedEnd=sdf.parse(end);ListlistDate=getDatesBetweenTwoDate(dBegin,dEnd);for(Datedate:listDate){System.out.println(sdf.format(date));}System.out.println("jdk1.4测试");ListlDate=getDatesBetweenTwoDate(dBegin,dEnd);for(inti=0;iDatedate=(Date)lDate.get(i);System.out.println(sdf.format(date));}}

java方法 返回两个日期内的所有date集合 根据开始时间 结束时间得到两个时间段内所有的日期...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。