package com.skyline.electricity.utils; import java.text.*; import java.util.*; public class Timeutils { public static List 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 list = new ArrayList(); 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; } }