时间区间拆分为时间段

 1 import java.text.ParseException;
 2 import java.text.SimpleDateFormat;
 3 import java.util.Calendar;
 4 import java.util.Date;
 5 import java.util.List;
 6 
 7 import com.google.common.collect.Lists;
 8 
 9 public class Test {
10     public static void main(String[] args) throws ParseException {
11         SimpleDateFormat sdfTmp = new SimpleDateFormat("yyyyMMddHH:mm:ss");
12         SimpleDateFormat sdf2Tmp=new SimpleDateFormat("yyyyMMdd");  
13         SimpleDateFormat def = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
14         String adCouponStr = "20180211-20180305|12:00:00-23:59:59";
15         List<String> daysList = Lists.newArrayList();
16         String[] couponInfo = adCouponStr.split("\\|");
17         String[] date = couponInfo[0].split("-");
18         String[] time = couponInfo[1].split("-");
19         Calendar cal = Calendar.getInstance();    
20         cal.setTime(sdf2Tmp.parse(date[0]));    
21         long time1 = cal.getTimeInMillis();                 
22         cal.setTime(sdf2Tmp.parse(date[1]));    
23         long time2 = cal.getTimeInMillis();         
24         long between_days=(time2-time1)/(1000*3600*24);  
25         int days = Integer.parseInt(String.valueOf(between_days))+1;
26         Date start = sdfTmp.parse(date[0].concat(time[0]));
27         Date end = sdfTmp.parse(date[0].concat(time[1]));
28         
29         for(int i=0;i<days;i++){
30             daysList.add(def.format(start));
31             daysList.add(def.format(end));
32             cal.setTime(start);  
33             cal.add(Calendar.DAY_OF_MONTH, 1);
34             start = cal.getTime();
35             cal.setTime(end);  
36             cal.add(Calendar.DAY_OF_MONTH, 1);
37             end = cal.getTime();
38         }
39         for(int i=0;i<daysList.size();i+=2)
40         System.out.println(daysList.get(i)+"到"+daysList.get(i+1));
41     }
42 }

输出及结果如下:
2018-02-11 12:00:00到2018-02-11 23:59:59
2018-02-12 12:00:00到2018-02-12 23:59:59
2018-02-13 12:00:00到2018-02-13 23:59:59
2018-02-14 12:00:00到2018-02-14 23:59:59
2018-02-15 12:00:00到2018-02-15 23:59:59
2018-02-16 12:00:00到2018-02-16 23:59:59
2018-02-17 12:00:00到2018-02-17 23:59:59
2018-02-18 12:00:00到2018-02-18 23:59:59
2018-02-19 12:00:00到2018-02-19 23:59:59
2018-02-20 12:00:00到2018-02-20 23:59:59
2018-02-21 12:00:00到2018-02-21 23:59:59
2018-02-22 12:00:00到2018-02-22 23:59:59
2018-02-23 12:00:00到2018-02-23 23:59:59
2018-02-24 12:00:00到2018-02-24 23:59:59
2018-02-25 12:00:00到2018-02-25 23:59:59
2018-02-26 12:00:00到2018-02-26 23:59:59
2018-02-27 12:00:00到2018-02-27 23:59:59
2018-02-28 12:00:00到2018-02-28 23:59:59
2018-03-01 12:00:00到2018-03-01 23:59:59
2018-03-02 12:00:00到2018-03-02 23:59:59
2018-03-03 12:00:00到2018-03-03 23:59:59
2018-03-04 12:00:00到2018-03-04 23:59:59
2018-03-05 12:00:00到2018-03-05 23:59:59

  











 

posted on 2018-02-11 15:00  xhshic  阅读(215)  评论(0)    收藏  举报

导航