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);
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。