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