java分割日期时间段代码
本文实例为大家分享了java切割日期时间段代码,供大家参考,具体内容如下
/** *@authordy *@since2016-09-18&JDK1.8.0_91 */ publicclassDateCalculate{ staticLoggerlogger=LoggerFactory.getLogger(DateCalculate.class); /** *切割时间段 * *@paramdateType交易类型M/D/H/N-->每月/每天/每小时/每分钟 *@paramstartyyyy-MM-ddHH:mm:ss *@paramendyyyy-MM-ddHH:mm:ss *@return */ publicstaticList<String>cutDate(StringdateType,Stringstart,Stringend){ try{ SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss"); DatedBegin=sdf.parse(start); DatedEnd=sdf.parse(end); returnfindDates(dateType,dBegin,dEnd); }catch(Exceptione){ logger.error(e.getMessage(),e); } returnnull; } publicstaticList<String>findDates(StringdateType,DatedBegin,DatedEnd)throwsException{ List<String>listDate=newArrayList<>(); CalendarcalBegin=Calendar.getInstance(); calBegin.setTime(dBegin); CalendarcalEnd=Calendar.getInstance(); calEnd.setTime(dEnd); while(calEnd.after(calBegin)){ switch(dateType){ case"M": calBegin.add(Calendar.MONTH,1); break; case"D": calBegin.add(Calendar.DAY_OF_YEAR,1);break; case"H": calBegin.add(Calendar.HOUR,1);break; case"N": calBegin.add(Calendar.SECOND,1);break; } if(calEnd.after(calBegin)) listDate.add(newSimpleDateFormat("yyyy-MM-ddHH:mm:ss").format(calBegin.getTime())); else listDate.add(newSimpleDateFormat("yyyy-MM-ddHH:mm:ss").format(calEnd.getTime())); } returnlistDate; } publicstaticvoidmain(String[]args){ Stringstart="2016-02-0100:00:00"; Stringend="2016-03-0200:00:00"; List<String>list=cutDate("D",start,end); for(Stringstr:list){ System.out.println(str); } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。