java根据开始时间结束时间计算中间间隔日期的实例代码
具体代码如下所述:
importjava.text.ParseException; importjava.text.SimpleDateFormat; importjava.util.ArrayList; importjava.util.Calendar; importjava.util.Date; importjava.util.List; publicclassTest{ publicstaticListfindDates(Stringstime,Stringetime) throwsParseException{ List allDate=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,不需要可去除 List list=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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。