java根据开始时间结束时间计算中间间隔日期的实例代码
具体代码如下所述:
importjava.text.ParseException;
importjava.text.SimpleDateFormat;
importjava.util.ArrayList;
importjava.util.Calendar;
importjava.util.Date;
importjava.util.List;
publicclassTest{
publicstaticListfindDates(Stringstime,Stringetime)
throwsParseException{
ListallDate=newArrayList();
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");
DatedBegin=sdf.parse(stime);
DatedEnd=sdf.parse(etime);
allDate.add(sdf.format(dBegin));
CalendarcalBegin=Calendar.getInstance();
//使用给定的Date设置此Calendar的时间
calBegin.setTime(dBegin);
CalendarcalEnd=Calendar.getInstance();
//使用给定的Date设置此Calendar的时间
calEnd.setTime(dEnd);
//测试此日期是否在指定日期之后
while(dEnd.after(calBegin.getTime())){
//根据日历的规则,为给定的日历字段添加或减去指定的时间量
calBegin.add(Calendar.DAY_OF_MONTH,1);
allDate.add(sdf.format(calBegin.getTime()));
}
returnallDate;
}
publicstaticvoidmain(String[]args){
//测试数据
Stringstime="2019-05-01";
Stringetime="2019-05-05";
//集合中包含2019-05-01/2019-05-05,不需要可去除
Listlist=newArrayList<>();
try{
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");
longs=Long.valueOf(sdf.parse(stime).getTime());
longe=Long.valueOf(sdf.parse(etime).getTime());
//只有结束时间大于开始时间时才进行查询
if(s
ps:下面看下java根据开始时间和结束时间,计算中间天数,并打印
importjava.text.SimpleDateFormat;
importjava.util.Date;
publicclassCalcdate{
staticSimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");
staticSimpleDateFormatymd=newSimpleDateFormat("yyyy-MM-dd");
publicstaticvoidmain(String[]args)throwsException{
DatebeginTime=sdf.parse("2015-04-2312:32:44");
//DateendTime=sdf.parse("2015-04-2314:56:44");
DateendTime=sdf.parse("2015-04-2914:56:44");
longdiff=(endTime.getTime()-beginTime.getTime())/(86400*1000);
System.out.println("diff="+diff);
Datesb=null;
Datese=null;
if(diff==0){
sb=beginTime;
se=endTime;
Stringss=String.format("%d>Sb=%s,Se=%s",1,Coder.DateTimeToStr(sb),Coder.DateTimeToStr(se));
System.out.println(ss);
}else{
inti=0;
while(i<=diff){
if(i==0){
sb=beginTime;
se=sdf.parse(ymd.format(sb)+"23:59:59");
}elseif(i==diff){
sb=sdf.parse(ymd.format(endTime)+"00:00:00");
se=endTime;
}else{
se=newDate(beginTime.getTime()+i*24*60*60*1000);
sb=sdf.parse(ymd.format(se)+"00:00:00");
se=sdf.parse(ymd.format(se)+"23:59:59");
}
Stringss=String.format("%d>Sb=%s,Se=%s",i,Coder.DateTimeToStr(sb),Coder.DateTimeToStr(se));
System.out.println(ss);
i++;
}
}
}
}
diff=6
0>Sb=2015-04-2312:32:44,Se=2015-04-2323:59:59
1>Sb=2015-04-2400:00:00,Se=2015-04-2423:59:59
2>Sb=2015-04-2500:00:00,Se=2015-04-2523:59:59
3>Sb=2015-04-2600:00:00,Se=2015-04-2623:59:59
4>Sb=2015-04-2700:00:00,Se=2015-04-2723:59:59
5>Sb=2015-04-2800:00:00,Se=2015-04-2823:59:59
6>Sb=2015-04-2900:00:00,Se=2015-04-2914:56:44
总结
以上所述是小编给大家介绍的java根据开始时间结束时间计算中间间隔日期的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。