leutu
2024-05-08 543e4eb01ca210b20876e8139cb3d0403d7d065c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package com.skyline.electricity.utils;
 
import java.text.*;
import java.util.*;
 
public class Timeutils
{
    public static List<String> getIntervalTimeList(final String start, final String end, final int interval) {
        Date startDate = DateUtils.convertString2Date("yyyy-MM-dd HH:mm:ss", start);
        final Date endDate = DateUtils.convertString2Date("yyyy-MM-dd HH:mm:ss", end);
        final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        final List<String> list = new ArrayList<String>();
        while (startDate.getTime() < endDate.getTime()) {
            list.add(DateTimeUtils.convertDate2String("yyyy-MM-dd HH:mm:ss", startDate));
            final Calendar calendar = Calendar.getInstance();
            final Calendar calendar2 = Calendar.getInstance();
            calendar.setTime(startDate);
            calendar2.setTime(endDate);
            if (sdf.format(calendar.getTime()).compareTo(sdf.format(calendar2.getTime())) < 0) {
                calendar.add(12, interval);
                calendar.set(11, 0);
                calendar.set(12, 0);
                calendar.set(13, 0);
            }
            final Calendar calendarEnd = Calendar.getInstance();
            final String endTime = sdf.format(endDate);
            final String time = sdf.format(calendar.getTime());
            final int flag = time.compareTo(endTime);
            if (flag < 1) {
                calendarEnd.setTime(startDate);
                calendarEnd.set(11, 23);
                calendarEnd.set(12, 59);
                calendarEnd.set(13, 59);
                list.add(DateTimeUtils.convertDate2String("yyyy-MM-dd HH:mm:ss", calendarEnd.getTime()));
            }
            if (calendar.getTime().getTime() > endDate.getTime()) {
                list.add(DateTimeUtils.convertDate2String("yyyy-MM-dd HH:mm:ss", endDate));
                startDate = calendar.getTime();
            }
            else {
                startDate = calendar.getTime();
            }
        }
        return list;
    }
}