时间轴对齐算法(附单元测试)

要求

时间粒度

时间粒度根据查询跨度自适应

时间粒度是指趋势图中,一个数据系列的数据点间时间跨度,或是数据点采样时间。
用户查询的跨度变化较大,从1小时到30天,不同的跨度趋势图中应有不同的时间粒度。如果用户查询24小时,而时间粒度为1小时,则一根趋势线只有24个点,不实用且很丑。
以下表格,说明了大部份情况下,查询时间跨度与时间粒度的合理值:

查询时间跨度 时间粒度 数据点数 原始数据点数(30秒)
30天 4小时 180 86400
30分钟 10秒 180 60
12小时 5分钟 144 1440
7天 1小时 168 20160
6小时 2分钟 180 720
3天 30分钟 144 8640
1小时 20秒 180 120
1天 10分钟 144 2880
注意:

一个数据系列,数据点个数在120~200之间为合适;
时间粒度以2或5的倍数为佳,方便与自然时间对齐
当 时间粒度 <= 采集周期 时,即是原始数据粒度了
当 时间粒度 > 采集周期 时,则往往需要进行数据的时间聚合(即rollup或downsample)。

时间粒度与自然习惯对齐

在趋势图中,采用了某种时间粒度后,数据点的时间轴刻度,应该是与自然语言对齐,方便人阅读理解。

时间粒度 生成时间轴刻度举例
30分钟 1时0分,1时30分,2时0分...
5分钟 1时0分,1时5分,1时10分...
4小时 0时0分,4时0分,8时0分...
2分钟 1时0分,1时2分,1时4分...

每一个时间粒度,都代表了其时间周期内的所有数据聚合后的结果。如30分钟粒度下的,1时30分代表[1时30分,2时0分)的所有数据。

输入参数:开始时间,结束时间

输出结果:时间切割后的时间数组(大小在120~200范围内)

目前算法的缺陷在于临界点周围过度不够平滑,待后来者改进

import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
 
/**
 * network设备概况时间对齐算法
 */
public class NetworkTimeAlineUtil {
 
    /**
     * 根据开始时间和结束时间来计算得到时间数组
     * 使得时间数组size位于120~200区间内
     * 具体参考KB:http://kb.uyunsoft.cn/kb/pages/viewpage.action?pageId=37199282
     *
     * @param beginTime
     * @param endTime
     * @return
     */
    public static List<Long> getSearchTime(long beginTime, long endTime) throws ParseException {
        List<Long> outputList = new ArrayList<Long>();
        if (endTime < beginTime) {
            return new ArrayList<Long>();
        }
        long totalInterval = endTime - beginTime;
        beginTime = resetTime(beginTime, totalInterval);
        endTime = resetTime(endTime, totalInterval);
        if (totalInterval > 30 * 24 * 60 * 60 * 1000l) { //大于30天,则按照200来进行切割
            long interval = totalInterval / 200;
            for (int i = 0; i < 200; i++) {
                outputList.add(beginTime + interval * i);
            }
            outputList.add(endTime);
        } else if (totalInterval > 7 * 24 * 60 * 60 * 1000l) { //大于7天,小于等于30天(169~720小时),则按照1小时数量进行切割
            if (totalInterval >= 601 * 60 * 60 * 1000l) {//601~720小时,按照4小时进行截取
                long size = totalInterval / (4 * 60 * 60 * 1000l);
                for (int i = 0; i < size; i++) {
                    outputList.add(beginTime + 4 * 60 * 60 * 1000l * i);
                }
                outputList.add(endTime);
            } else if (totalInterval >= 401 * 60 * 60 * 1000l) {//401~600小时,按照3小时截取
                long size = totalInterval / (3 * 60 * 60 * 1000l);
                for (int i = 0; i < size; i++) {
                    outputList.add(beginTime + 3 * 60 * 60 * 1000l * i);
                }
                outputList.add(endTime);
            } else if (totalInterval >= 240 * 60 * 60 * 1000l) {//240~400小时,按照2小时截取
                long size = totalInterval / (2 * 60 * 60 * 1000l);
                for (int i = 0; i < size; i++) {
                    outputList.add(beginTime + 2 * 60 * 60 * 1000l * i);
                }
                outputList.add(endTime);
            } else if (totalInterval >= 201 * 60 * 60 * 1000l) {//201~239小时,按1.5小时截取
                long size = totalInterval / (90 * 60 * 1000l);
                for (int i = 0; i < size; i++) {
                    outputList.add(beginTime + 90 * 60 * 1000l * i);
                }
                outputList.add(endTime);
            } else {//169~200小时,按1小时截取
                long size = totalInterval / (1 * 60 * 60 * 1000l);
                for (int i = 0; i < size; i++) {
                    outputList.add(beginTime + 1 * 60 * 60 * 1000l * i);
                }
                outputList.add(endTime);
            }
        } else if (totalInterval > 3 * 24 * 60 * 60 * 1000l) { //大于3天,小于等于7天(73~168小时),则按照30分钟为最小数量进行切割
            if (totalInterval >= 120 * 60 * 60 * 1000l) {//120~168小时,按60分钟截取
                long size = totalInterval / (60 * 60 * 1000l);
                for (int i = 0; i < size; i++) {
                    outputList.add(beginTime + 60 * 60 * 1000l * i);
                }
                outputList.add(endTime);
            } else {//73~119小时,按30分钟截取
                long size = totalInterval / (30 * 60 * 1000l);
                for (int i = 0; i < size; i++) {
                    outputList.add(beginTime + 30 * 60 * 1000l * i);
                }
                outputList.add(endTime);
            }
        } else if (totalInterval > 1 * 24 * 60 * 60 * 1000l) { //大于1天,小于等于3天(25~72小时),则按照10分钟为最小数量进行切割
            if (totalInterval >= 60 * 60 * 60 * 1000l) {//60~72小时,按30分钟截取
                long size = totalInterval / (30 * 60 * 1000l);
                for (int i = 0; i < size; i++) {
                    outputList.add(beginTime + 30 * 60 * 1000l * i);
                }
                outputList.add(endTime);
            } else if (totalInterval >= 40 * 60 * 60 * 1000l) {//40~60小时,按20分钟截取
                long size = totalInterval / 20 * 60 * 1000l;
                for (int i = 0; i < size; i++) {
                    outputList.add(beginTime + 20 * 60 * 1000l * i);
                }
                outputList.add(endTime);
            } else if (totalInterval >= 30 * 60 * 60 * 1000l) {//30~39小时,按15分钟截取
                long size = totalInterval / (15 * 60 * 1000l);
                for (int i = 0; i < size; i++) {
                    outputList.add(beginTime + 15 * 60 * 1000l * i);
                }
                outputList.add(endTime);
            } else {//25~29小时,按10分钟截取
                long size = totalInterval / (10 * 60 * 1000l);
                for (int i = 0; i < size; i++) {
                    outputList.add(beginTime + 10 * 60 * 1000l * i);
                }
                outputList.add(endTime);
            }
        } else if (totalInterval > 12 * 60 * 60 * 1000l) { //大于12小时,小于等于24小时,则按照5分钟为最小数量进行切割
            if (totalInterval >= 20 * 60 * 60 * 1000l) {//20~24小时,按10分钟截取
                long size = totalInterval / (10 * 60 * 1000l);
                for (int i = 0; i < size; i++) {
                    outputList.add(beginTime + 10 * 60 * 1000l * i);
                }
                outputList.add(endTime);
            } else {//13~20小时,按5分钟截取
                long size = totalInterval / (5 * 60 * 1000l);
                for (int i = 0; i < size; i++) {
                    outputList.add(beginTime + 5 * 60 * 1000l * i);
                }
                outputList.add(endTime);
            }
        } else if (totalInterval > 360 * 60 * 1000l) { //大于360分钟,小于等于720分钟,则按照2分钟为最小数量进行切割
            if (totalInterval >= 480 * 60 * 1000l) {//480~720分钟,按4分钟截取
                long size = totalInterval / (4 * 60 * 1000l);
                for (int i = 0; i < size; i++) {
                    outputList.add(beginTime + 4 * 60 * 1000l * i);
                }
                outputList.add(endTime);
            } else {//361~479分钟,按3分钟截取
                long size = totalInterval / (3 * 60 * 1000l);
                for (int i = 0; i < size; i++) {
                    outputList.add(beginTime + 3 * 60 * 1000l * i);
                }
                outputList.add(endTime);
            }
        } else if (totalInterval > 60 * 60 * 1000l) { //大于60分钟,小于等于360分钟,则按照20秒为最小数量进行切割
            if (totalInterval >= 240 * 60 * 1000l) {//240~360分钟,按2分钟截取
                long size = totalInterval / (2 * 60 * 1000l);
                for (int i = 0; i < size; i++) {
                    outputList.add(beginTime + 2 * 60 * 1000l * i);
                }
                outputList.add(endTime);
            } else if (totalInterval >= 180 * 60 * 1000l) {//180~240分钟,按90秒截取
                long size = totalInterval / (90 * 1000l);
                for (int i = 0; i < size; i++) {
                    outputList.add(beginTime + 90 * 1000l * i);
                }
                outputList.add(endTime);
            } else if (totalInterval >= 120 * 60 * 1000l) {//120~179分钟,按60秒截取
                long size = totalInterval / (60 * 1000l);
                for (int i = 0; i < size; i++) {
                    outputList.add(beginTime + 60 * 1000l * i);
                }
                outputList.add(endTime);
            } else if (totalInterval >= 80 * 60 * 1000l) {//80~119分钟,按40秒截取
                long size = totalInterval / (40 * 1000l);
                for (int i = 0; i < size; i++) {
                    outputList.add(beginTime + 40 * 1000l * i);
                }
                outputList.add(endTime);
            } else {//61~79分钟,按30秒截取
                long size = totalInterval / (30 * 1000l);
                for (int i = 0; i < size; i++) {
                    outputList.add(beginTime + 30 * 1000l * i);
                }
                outputList.add(endTime);
            }
        } else if (totalInterval > 30 * 60 * 1000l) { //大于30分钟,小于等于60分钟,则按照10秒为最小数量进行切割
            if (totalInterval >= 40 * 60 * 1000l) {//40~60分钟,按20秒截取
                long size = totalInterval / (20 * 1000l);
                for (int i = 0; i < size; i++) {
                    outputList.add(beginTime + 20 * 1000l * i);
                }
                outputList.add(endTime);
            } else if (totalInterval >= 180 * 60 * 1000l) {//31~39分钟,按10秒截取
                long size = totalInterval / (90 * 1000l);
                for (int i = 0; i < size; i++) {
                    outputList.add(beginTime + 90 * 1000l * i);
                }
                outputList.add(endTime);
            }
        } else { //小于等于30分钟
            if (totalInterval >= 20 * 60 * 1000l) {//20~30分钟,按10秒截取
                long size = totalInterval / (10 * 1000l);
                for (int i = 0; i < size; i++) {
                    outputList.add(beginTime + 10 * 1000l * i);
                }
                outputList.add(endTime);
            } else {//小于20分钟,则按照200切割
                long interval = totalInterval / 200;
                for (int i = 0; i < 200; i++) {
                    outputList.add(beginTime + interval * i);
                }
                outputList.add(endTime);
            }
        }
        return outputList;
    }
 
    /**
     * 自然习惯对齐
     * 比如2018-10-01 17:59:59 ~ 2018-10-07 18:00:00 变成 2018-10-01 18:00:00 ~ 2018-10-07 18:00:00
     * 比如2018-10-01 17:00:20 ~ 2018-10-01 18:00:00 变成 2018-10-01 17:00:00 ~ 2018-10-07 18:00:00
     *
     * @param inputTime
     * @param totalInterval
     * @return
     */
    private static long resetTime(long inputTime, long totalInterval) throws ParseException {
        if (totalInterval > 24 * 60 * 60 * 1000l) { //如果间隔在天级别以上,那么分钟级别以下可以四舍五入(1~30舍/31~59入)
            if (inputTime % (24 * 60 * 1000l) > 30 * 60 * 1000l) { //大于30分钟的,入
                inputTime = inputTime - inputTime % (24 * 60 * 1000l) + 1 * 60 * 60 * 1000l;
            } else {//小于等于30分钟的,舍弃
                inputTime = inputTime - inputTime % (24 * 60 * 1000l);
            }
        } else if (totalInterval > 1 * 60 * 60 * 1000l) {//如果间隔在小时级别以上,那么秒钟级别以下可以四舍五入(1~30舍/31~59入)
            if (inputTime % (60 * 1000l) > 30 * 1000l) { //大于30秒钟的,入
                inputTime = inputTime - inputTime % (60 * 1000l) + 1 * 60 * 1000l;
            } else {//小于等于30分钟的,舍弃
                inputTime = inputTime - inputTime % (60 * 1000l);
            }
        } else { //间隔在1个小时以内的,不进行自然习惯对齐
            return inputTime;
        }
        return inputTime;
    }
 
}

单元测试

import org.junit.Assert;
import org.junit.Test;
 
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
 
/**
 *
 */
public class NetworkTimeAlineUtilTest {
 
    private static final String ymdhmsFormat = "yyyy-MM-dd HH:mm:ss";
 
    // date类型转换为String类型
    // formatType格式为yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日 HH时mm分ss秒
    // data Date类型的时间
    public static String dateToString(Date data, String formatType) {
        return new SimpleDateFormat(formatType).format(data);
    }
 
    // long类型转换为String类型
    // currentTime要转换的long类型的时间
    // formatType要转换的string类型的时间格式
    public static String longToString(long currentTime, String formatType)
            throws ParseException {
        Date date = longToDate(currentTime, formatType); // long类型转成Date类型
        String strTime = dateToString(date, formatType); // date类型转成String
        return strTime;
    }
 
    // string类型转换为date类型
    // strTime要转换的string类型的时间,formatType要转换的格式yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日
    // HH时mm分ss秒,
    // strTime的时间格式必须要与formatType的时间格式相同
    public static Date stringToDate(String strTime, String formatType)
            throws ParseException {
        SimpleDateFormat formatter = new SimpleDateFormat(formatType);
        Date date = null;
        date = formatter.parse(strTime);
        return date;
    }
 
    // long转换为Date类型
    // currentTime要转换的long类型的时间
    // formatType要转换的时间格式yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日 HH时mm分ss秒
    public static Date longToDate(long currentTime, String formatType)
            throws ParseException {
        Date dateOld = new Date(currentTime); // 根据long类型的毫秒数生命一个date类型的时间
        String sDateTime = dateToString(dateOld, formatType); // 把date类型的时间转换为string
        Date date = stringToDate(sDateTime, formatType); // 把String类型转换为Date类型
        return date;
    }
 
    // string类型转换为long类型
    // strTime要转换的String类型的时间
    // formatType时间格式
    // strTime的时间格式和formatType的时间格式必须相同
    public static long stringToLong(String strTime)
            throws ParseException {
        Date date = stringToDate(strTime, ymdhmsFormat); // String类型转成date类型
        if (date == null) {
            return 0;
        } else {
            long currentTime = dateToLong(date); // date类型转成long类型
            return currentTime;
        }
    }
 
    // date类型转换为long类型
    // date要转换的date类型的时间
    public static long dateToLong(Date date) {
        return date.getTime();
    }
 
    /**
     * 时间跨度30分钟
     * 如输入为2016-09-12 15:15:27  2016-09-12 15:45:27
     * 则输出为2016-09-12 15:15:27  2016-09-12 15:45:27
     * interval 10秒
     */
    @Test
    public void test30Min() throws ParseException {
        String beginSch = "2016-09-12 15:15:27";
        String endSch = "2016-09-12 15:45:27";
        List<Long> outputList = NetworkTimeAlineUtil.getSearchTime(stringToLong(beginSch), stringToLong(endSch));
        System.out.println("=================");
        System.out.println(beginSch);
        System.out.println(endSch);
        System.out.println("=================");
        System.out.println("时间跨度30分钟");
        System.out.println("interval 10秒");
        for (int i = 0; i < outputList.size(); i++) {
            System.out.print(longToString(outputList.get(i), ymdhmsFormat) + " , ");
        }
        System.out.println("=================");
    }
 
    /**
     * 时间跨度1小时
     * 如输入为2016-09-12 15:15:27  2016-09-12 15:45:27
     * 则输出为2016-09-12 15:15:00  2016-09-12 15:45:00
     * interval 20秒
     */
    @Test
    public void test1Hour() throws ParseException {
        String beginSch = "2016-09-12 15:15:27";
        String endSch = "2016-09-12 16:15:27";
        List<Long> outputList = NetworkTimeAlineUtil.getSearchTime(stringToLong(beginSch), stringToLong(endSch));
        System.out.println("=================");
        System.out.println(beginSch);
        System.out.println(endSch);
        System.out.println("=================");
        System.out.println("时间跨度1小时");
        System.out.println("interval 20秒");
        for (int i = 0; i < outputList.size(); i++) {
            System.out.print(longToString(outputList.get(i), ymdhmsFormat) + " , ");
        }
        System.out.println("=================");
    }
 
    /**
     * 时间跨度6小时
     * 如输入为2016-09-12 14:15:27  2016-09-12 20:15:27
     * 则输出为2016-09-12 14:15:00  2016-09-12 20:15:00
     * interval 2分钟
     */
    @Test
    public void test6Hour() throws ParseException {
        String beginSch = "2016-09-12 14:15:27";
        String endSch = "2016-09-12 20:15:27";
        List<Long> outputList = NetworkTimeAlineUtil.getSearchTime(stringToLong(beginSch), stringToLong(endSch));
        System.out.println("=================");
        System.out.println(beginSch);
        System.out.println(endSch);
        System.out.println("=================");
        System.out.println("时间跨度6小时");
        System.out.println("interval 2分钟");
        for (int i = 0; i < outputList.size(); i++) {
            System.out.print(longToString(outputList.get(i), ymdhmsFormat) + " , ");
        }
        System.out.println("=================");
    }
 
    /**
     * 时间跨度12小时
     * 粒度24
     * 如输入为2016-09-09 02:15:27  2016-09-09 14:15:27
     * 则输出为2016-09-09 02:15:27  2016-09-12 14:15:27
     * interval 4分钟
     */
    @Test
    public void test12Hour() throws ParseException {
        String beginSch = "2016-09-09 02:15:27";
        String endSch = "2016-09-09 14:15:27";
        List<Long> outputList = NetworkTimeAlineUtil.getSearchTime(stringToLong(beginSch), stringToLong(endSch));
        System.out.println("=================");
        System.out.println(beginSch);
        System.out.println(endSch);
        System.out.println("=================");
        System.out.println("时间跨度12小时");
        System.out.println("interval 4分钟");
        for (int i = 0; i < outputList.size(); i++) {
            System.out.print(longToString(outputList.get(i), ymdhmsFormat) + " , ");
        }
        System.out.println("=================");
        //4分钟
        Assert.assertEquals(4 * 60 * 1000l, outputList.get(1) - outputList.get(0));
    }
 
    /**
     * 时间跨度1天
     * 如输入为2016-09-09 02:15:27  2016-09-09 21:15:27
     * 则输出为2016-09-09 02:00:00  2016-09-12 21:00:00
     * interval 10分钟
     */
    @Test
    public void test1Day() throws ParseException {
        String beginSch = "2016-09-09 02:15:27";
        String endSch = "2016-09-10 02:15:27";
        List<Long> outputList = NetworkTimeAlineUtil.getSearchTime(stringToLong(beginSch), stringToLong(endSch));
        System.out.println("=================");
        System.out.println(beginSch);
        System.out.println(endSch);
        System.out.println("=================");
        System.out.println("时间跨度1天");
        System.out.println("interval 10分钟");
        for (int i = 0; i < outputList.size(); i++) {
            System.out.print(longToString(outputList.get(i), ymdhmsFormat) + " , ");
        }
        System.out.println("=================");
        //10分钟
        Assert.assertEquals(10 * 60 * 1000l, outputList.get(1) - outputList.get(0));
    }
 
    /**
     * 时间跨度3天
     * 如输入为2016-09-09 14:15:27  2016-09-12 14:15:27
     * 则输出为2016-09-09 14:00:00  2016-09-12 14:00:00
     * interval 30分钟
     */
    @Test
    public void test3Day() throws ParseException {
        String beginSch = "2016-09-09 14:15:27";
        String endSch = "2016-09-12 14:15:27";
        List<Long> outputList = NetworkTimeAlineUtil.getSearchTime(stringToLong(beginSch), stringToLong(endSch));
        System.out.println("=================");
        System.out.println(beginSch);
        System.out.println(endSch);
        System.out.println("=================");
        System.out.println("时间跨度3天");
        System.out.println("interval 30分钟");
        for (int i = 0; i < outputList.size(); i++) {
            System.out.print(longToString(outputList.get(i), ymdhmsFormat) + " , ");
        }
        System.out.println("=================");
        //30分钟
        Assert.assertEquals(30 * 60 * 1000l, outputList.get(1) - outputList.get(0));
    }
 
    /**
     * 时间跨度7天
     * 如输入为2016-09-05 14:15:27  2016-09-12 14:15:27
     * 则输出为2016-09-05 14:00:00  2016-09-12 14:00:00
     * interval 1小时
     */
    @Test
    public void test7Day() throws ParseException {
        String beginSch = "2016-09-05 14:15:27";
        String endSch = "2016-09-12 14:15:27";
        List<Long> outputList = NetworkTimeAlineUtil.getSearchTime(stringToLong(beginSch), stringToLong(endSch));
        System.out.println("=================");
        System.out.println(beginSch);
        System.out.println(endSch);
        System.out.println("=================");
        System.out.println("时间跨度7天");
        System.out.println("interval 1小时");
        for (int i = 0; i < outputList.size(); i++) {
            System.out.print(longToString(outputList.get(i), ymdhmsFormat) + " , ");
        }
        System.out.println("=================");
        //1小时
        Assert.assertEquals(1 * 60 * 60 * 1000l, outputList.get(1) - outputList.get(0));
    }
 
    /**
     * 时间跨度1个月
     * 粒度30
     * 如输入为2016-08-13 10:15:27 2016-09-12 10:15:27
     * 则输出为2016-08-14 10:00:00 2016-09-13 10:00:00
     * interval 4小时
     */
    @Test
    public void test1Month() throws ParseException {
        String beginSch = "2016-08-13 10:15:27";
        String endSch = "2016-09-12 10:15:27";
        List<Long> outputList = NetworkTimeAlineUtil.getSearchTime(stringToLong(beginSch), stringToLong(endSch));
        System.out.println("=================");
        System.out.println(beginSch);
        System.out.println(endSch);
        System.out.println("=================");
        System.out.println("时间跨度1个月");
        System.out.println("interval 4小时");
        for (int i = 0; i < outputList.size(); i++) {
            System.out.print(longToString(outputList.get(i), ymdhmsFormat) + " , ");
        }
        System.out.println("=================");
        //4小时
        Assert.assertEquals(4 * 60 * 60 * 1000l, outputList.get(1) - outputList.get(0));
    }
 
    /**
     * 时间跨度17天
     * 如输入为2016-08-13 10:15:27 2016-08-30 10:15:27
     * 则输出为2016-08-14 10:00:00 2016-08-31 10:00:00
     * interval 3小时
     */
    @Test
    public void test17Day() throws ParseException {
        String beginSch = "2016-08-13 10:15:27";
        String endSch = "2016-08-30 10:15:27";
        List<Long> outputList = NetworkTimeAlineUtil.getSearchTime(stringToLong(beginSch), stringToLong(endSch));
        System.out.println("=================");
        System.out.println(beginSch);
        System.out.println(endSch);
        System.out.println("=================");
        System.out.println("时间跨度17天");
        System.out.println("interval 3小时");
        for (int i = 0; i < outputList.size(); i++) {
            System.out.print(longToString(outputList.get(i), ymdhmsFormat) + " , ");
        }
        System.out.println("=================");
        //3小时
        Assert.assertEquals(3 * 60 * 60 * 1000l, outputList.get(1) - outputList.get(0));
    }
 
    /**
     * 时间跨度21天
     * 如输入为2016-08-01 10:15:27 2016-08-22 10:15:27
     * 则输出为2016-08-02 10:00:00 2016-08-23 10:00:00
     * interval 3小时
     */
    @Test
    public void test21Day() throws ParseException {
        String beginSch = "2016-08-01 10:15:27";
        String endSch = "2016-08-22 10:15:27";
        List<Long> outputList = NetworkTimeAlineUtil.getSearchTime(stringToLong(beginSch), stringToLong(endSch));
        System.out.println("=================");
        System.out.println(beginSch);
        System.out.println(endSch);
        System.out.println("=================");
        System.out.println("时间跨度21天");
        System.out.println("interval 3小时");
        for (int i = 0; i < outputList.size(); i++) {
            System.out.print(longToString(outputList.get(i), ymdhmsFormat) + " , ");
        }
        System.out.println("=================");
        //3小时
        Assert.assertEquals(3 * 60 * 60 * 1000l, outputList.get(1) - outputList.get(0));
    }
}

输出结果

=================
2016-08-13 10:15:27
2016-08-30 10:15:27
=================
时间跨度17天
interval 3小时
2016-08-13 10:00:00 , 2016-08-13 13:00:00 , 2016-08-13 16:00:00 , 2016-08-13 19:00:00 , 2016-08-13 22:00:00 , 2016-08-14 01:00:00 , 2016-08-14 04:00:00 , 2016-08-14 07:00:00 , 2016-08-14 10:00:00 , 2016-08-14 13:00:00 , 2016-08-14 16:00:00 , 2016-08-14 19:00:00 , 2016-08-14 22:00:00 , 2016-08-15 01:00:00 , 2016-08-15 04:00:00 , 2016-08-15 07:00:00 , 2016-08-15 10:00:00 , 2016-08-15 13:00:00 , 2016-08-15 16:00:00 , 2016-08-15 19:00:00 , 2016-08-15 22:00:00 , 2016-08-16 01:00:00 , 2016-08-16 04:00:00 , 2016-08-16 07:00:00 , 2016-08-16 10:00:00 , 2016-08-16 13:00:00 , 2016-08-16 16:00:00 , 2016-08-16 19:00:00 , 2016-08-16 22:00:00 , 2016-08-17 01:00:00 , 2016-08-17 04:00:00 , 2016-08-17 07:00:00 , 2016-08-17 10:00:00 , 2016-08-17 13:00:00 , 2016-08-17 16:00:00 , 2016-08-17 19:00:00 , 2016-08-17 22:00:00 , 2016-08-18 01:00:00 , 2016-08-18 04:00:00 , 2016-08-18 07:00:00 , 2016-08-18 10:00:00 , 2016-08-18 13:00:00 , 2016-08-18 16:00:00 , 2016-08-18 19:00:00 , 2016-08-18 22:00:00 , 2016-08-19 01:00:00 , 2016-08-19 04:00:00 , 2016-08-19 07:00:00 , 2016-08-19 10:00:00 , 2016-08-19 13:00:00 , 2016-08-19 16:00:00 , 2016-08-19 19:00:00 , 2016-08-19 22:00:00 , 2016-08-20 01:00:00 , 2016-08-20 04:00:00 , 2016-08-20 07:00:00 , 2016-08-20 10:00:00 , 2016-08-20 13:00:00 , 2016-08-20 16:00:00 , 2016-08-20 19:00:00 , 2016-08-20 22:00:00 , 2016-08-21 01:00:00 , 2016-08-21 04:00:00 , 2016-08-21 07:00:00 , 2016-08-21 10:00:00 , 2016-08-21 13:00:00 , 2016-08-21 16:00:00 , 2016-08-21 19:00:00 , 2016-08-21 22:00:00 , 2016-08-22 01:00:00 , 2016-08-22 04:00:00 , 2016-08-22 07:00:00 , 2016-08-22 10:00:00 , 2016-08-22 13:00:00 , 2016-08-22 16:00:00 , 2016-08-22 19:00:00 , 2016-08-22 22:00:00 , 2016-08-23 01:00:00 , 2016-08-23 04:00:00 , 2016-08-23 07:00:00 , 2016-08-23 10:00:00 , 2016-08-23 13:00:00 , 2016-08-23 16:00:00 , 2016-08-23 19:00:00 , 2016-08-23 22:00:00 , 2016-08-24 01:00:00 , 2016-08-24 04:00:00 , 2016-08-24 07:00:00 , 2016-08-24 10:00:00 , 2016-08-24 13:00:00 , 2016-08-24 16:00:00 , 2016-08-24 19:00:00 , 2016-08-24 22:00:00 , 2016-08-25 01:00:00 , 2016-08-25 04:00:00 , 2016-08-25 07:00:00 , 2016-08-25 10:00:00 , 2016-08-25 13:00:00 , 2016-08-25 16:00:00 , 2016-08-25 19:00:00 , 2016-08-25 22:00:00 , 2016-08-26 01:00:00 , 2016-08-26 04:00:00 , 2016-08-26 07:00:00 , 2016-08-26 10:00:00 , 2016-08-26 13:00:00 , 2016-08-26 16:00:00 , 2016-08-26 19:00:00 , 2016-08-26 22:00:00 , 2016-08-27 01:00:00 , 2016-08-27 04:00:00 , 2016-08-27 07:00:00 , 2016-08-27 10:00:00 , 2016-08-27 13:00:00 , 2016-08-27 16:00:00 , 2016-08-27 19:00:00 , 2016-08-27 22:00:00 , 2016-08-28 01:00:00 , 2016-08-28 04:00:00 , 2016-08-28 07:00:00 , 2016-08-28 10:00:00 , 2016-08-28 13:00:00 , 2016-08-28 16:00:00 , 2016-08-28 19:00:00 , 2016-08-28 22:00:00 , 2016-08-29 01:00:00 , 2016-08-29 04:00:00 , 2016-08-29 07:00:00 , 2016-08-29 10:00:00 , 2016-08-29 13:00:00 , 2016-08-29 16:00:00 , 2016-08-29 19:00:00 , 2016-08-29 22:00:00 , 2016-08-30 01:00:00 , 2016-08-30 04:00:00 , 2016-08-30 07:00:00 , 2016-08-30 10:00:00 , =================
=================
2016-09-12 15:15:27
2016-09-12 16:15:27
=================
时间跨度1小时
interval 20秒
2016-09-12 15:15:27 , 2016-09-12 15:15:47 , 2016-09-12 15:16:07 , 2016-09-12 15:16:27 , 2016-09-12 15:16:47 , 2016-09-12 15:17:07 , 2016-09-12 15:17:27 , 2016-09-12 15:17:47 , 2016-09-12 15:18:07 , 2016-09-12 15:18:27 , 2016-09-12 15:18:47 , 2016-09-12 15:19:07 , 2016-09-12 15:19:27 , 2016-09-12 15:19:47 , 2016-09-12 15:20:07 , 2016-09-12 15:20:27 , 2016-09-12 15:20:47 , 2016-09-12 15:21:07 , 2016-09-12 15:21:27 , 2016-09-12 15:21:47 , 2016-09-12 15:22:07 , 2016-09-12 15:22:27 , 2016-09-12 15:22:47 , 2016-09-12 15:23:07 , 2016-09-12 15:23:27 , 2016-09-12 15:23:47 , 2016-09-12 15:24:07 , 2016-09-12 15:24:27 , 2016-09-12 15:24:47 , 2016-09-12 15:25:07 , 2016-09-12 15:25:27 , 2016-09-12 15:25:47 , 2016-09-12 15:26:07 , 2016-09-12 15:26:27 , 2016-09-12 15:26:47 , 2016-09-12 15:27:07 , 2016-09-12 15:27:27 , 2016-09-12 15:27:47 , 2016-09-12 15:28:07 , 2016-09-12 15:28:27 , 2016-09-12 15:28:47 , 2016-09-12 15:29:07 , 2016-09-12 15:29:27 , 2016-09-12 15:29:47 , 2016-09-12 15:30:07 , 2016-09-12 15:30:27 , 2016-09-12 15:30:47 , 2016-09-12 15:31:07 , 2016-09-12 15:31:27 , 2016-09-12 15:31:47 , 2016-09-12 15:32:07 , 2016-09-12 15:32:27 , 2016-09-12 15:32:47 , 2016-09-12 15:33:07 , 2016-09-12 15:33:27 , 2016-09-12 15:33:47 , 2016-09-12 15:34:07 , 2016-09-12 15:34:27 , 2016-09-12 15:34:47 , 2016-09-12 15:35:07 , 2016-09-12 15:35:27 , 2016-09-12 15:35:47 , 2016-09-12 15:36:07 , 2016-09-12 15:36:27 , 2016-09-12 15:36:47 , 2016-09-12 15:37:07 , 2016-09-12 15:37:27 , 2016-09-12 15:37:47 , 2016-09-12 15:38:07 , 2016-09-12 15:38:27 , 2016-09-12 15:38:47 , 2016-09-12 15:39:07 , 2016-09-12 15:39:27 , 2016-09-12 15:39:47 , 2016-09-12 15:40:07 , 2016-09-12 15:40:27 , 2016-09-12 15:40:47 , 2016-09-12 15:41:07 , 2016-09-12 15:41:27 , 2016-09-12 15:41:47 , 2016-09-12 15:42:07 , 2016-09-12 15:42:27 , 2016-09-12 15:42:47 , 2016-09-12 15:43:07 , 2016-09-12 15:43:27 , 2016-09-12 15:43:47 , 2016-09-12 15:44:07 , 2016-09-12 15:44:27 , 2016-09-12 15:44:47 , 2016-09-12 15:45:07 , 2016-09-12 15:45:27 , 2016-09-12 15:45:47 , 2016-09-12 15:46:07 , 2016-09-12 15:46:27 , 2016-09-12 15:46:47 , 2016-09-12 15:47:07 , 2016-09-12 15:47:27 , 2016-09-12 15:47:47 , 2016-09-12 15:48:07 , 2016-09-12 15:48:27 , 2016-09-12 15:48:47 , 2016-09-12 15:49:07 , 2016-09-12 15:49:27 , 2016-09-12 15:49:47 , 2016-09-12 15:50:07 , 2016-09-12 15:50:27 , 2016-09-12 15:50:47 , 2016-09-12 15:51:07 , 2016-09-12 15:51:27 , 2016-09-12 15:51:47 , 2016-09-12 15:52:07 , 2016-09-12 15:52:27 , 2016-09-12 15:52:47 , 2016-09-12 15:53:07 , 2016-09-12 15:53:27 , 2016-09-12 15:53:47 , 2016-09-12 15:54:07 , 2016-09-12 15:54:27 , 2016-09-12 15:54:47 , 2016-09-12 15:55:07 , 2016-09-12 15:55:27 , 2016-09-12 15:55:47 , 2016-09-12 15:56:07 , 2016-09-12 15:56:27 , 2016-09-12 15:56:47 , 2016-09-12 15:57:07 , 2016-09-12 15:57:27 , 2016-09-12 15:57:47 , 2016-09-12 15:58:07 , 2016-09-12 15:58:27 , 2016-09-12 15:58:47 , 2016-09-12 15:59:07 , 2016-09-12 15:59:27 , 2016-09-12 15:59:47 , 2016-09-12 16:00:07 , 2016-09-12 16:00:27 , 2016-09-12 16:00:47 , 2016-09-12 16:01:07 , 2016-09-12 16:01:27 , 2016-09-12 16:01:47 , 2016-09-12 16:02:07 , 2016-09-12 16:02:27 , 2016-09-12 16:02:47 , 2016-09-12 16:03:07 , 2016-09-12 16:03:27 , 2016-09-12 16:03:47 , 2016-09-12 16:04:07 , 2016-09-12 16:04:27 , 2016-09-12 16:04:47 , 2016-09-12 16:05:07 , 2016-09-12 16:05:27 , 2016-09-12 16:05:47 , 2016-09-12 16:06:07 , 2016-09-12 16:06:27 , 2016-09-12 16:06:47 , 2016-09-12 16:07:07 , 2016-09-12 16:07:27 , 2016-09-12 16:07:47 , 2016-09-12 16:08:07 , 2016-09-12 16:08:27 , 2016-09-12 16:08:47 , 2016-09-12 16:09:07 , 2016-09-12 16:09:27 , 2016-09-12 16:09:47 , 2016-09-12 16:10:07 , 2016-09-12 16:10:27 , 2016-09-12 16:10:47 , 2016-09-12 16:11:07 , 2016-09-12 16:11:27 , 2016-09-12 16:11:47 , 2016-09-12 16:12:07 , 2016-09-12 16:12:27 , 2016-09-12 16:12:47 , 2016-09-12 16:13:07 , 2016-09-12 16:13:27 , 2016-09-12 16:13:47 , 2016-09-12 16:14:07 , 2016-09-12 16:14:27 , 2016-09-12 16:14:47 , 2016-09-12 16:15:07 , 2016-09-12 16:15:27 , =================
=================
2016-08-01 10:15:27
2016-08-22 10:15:27
=================
时间跨度21天
interval 3小时
2016-08-01 10:00:00 , 2016-08-01 13:00:00 , 2016-08-01 16:00:00 , 2016-08-01 19:00:00 , 2016-08-01 22:00:00 , 2016-08-02 01:00:00 , 2016-08-02 04:00:00 , 2016-08-02 07:00:00 , 2016-08-02 10:00:00 , 2016-08-02 13:00:00 , 2016-08-02 16:00:00 , 2016-08-02 19:00:00 , 2016-08-02 22:00:00 , 2016-08-03 01:00:00 , 2016-08-03 04:00:00 , 2016-08-03 07:00:00 , 2016-08-03 10:00:00 , 2016-08-03 13:00:00 , 2016-08-03 16:00:00 , 2016-08-03 19:00:00 , 2016-08-03 22:00:00 , 2016-08-04 01:00:00 , 2016-08-04 04:00:00 , 2016-08-04 07:00:00 , 2016-08-04 10:00:00 , 2016-08-04 13:00:00 , 2016-08-04 16:00:00 , 2016-08-04 19:00:00 , 2016-08-04 22:00:00 , 2016-08-05 01:00:00 , 2016-08-05 04:00:00 , 2016-08-05 07:00:00 , 2016-08-05 10:00:00 , 2016-08-05 13:00:00 , 2016-08-05 16:00:00 , 2016-08-05 19:00:00 , 2016-08-05 22:00:00 , 2016-08-06 01:00:00 , 2016-08-06 04:00:00 , 2016-08-06 07:00:00 , 2016-08-06 10:00:00 , 2016-08-06 13:00:00 , 2016-08-06 16:00:00 , 2016-08-06 19:00:00 , 2016-08-06 22:00:00 , 2016-08-07 01:00:00 , 2016-08-07 04:00:00 , 2016-08-07 07:00:00 , 2016-08-07 10:00:00 , 2016-08-07 13:00:00 , 2016-08-07 16:00:00 , 2016-08-07 19:00:00 , 2016-08-07 22:00:00 , 2016-08-08 01:00:00 , 2016-08-08 04:00:00 , 2016-08-08 07:00:00 , 2016-08-08 10:00:00 , 2016-08-08 13:00:00 , 2016-08-08 16:00:00 , 2016-08-08 19:00:00 , 2016-08-08 22:00:00 , 2016-08-09 01:00:00 , 2016-08-09 04:00:00 , 2016-08-09 07:00:00 , 2016-08-09 10:00:00 , 2016-08-09 13:00:00 , 2016-08-09 16:00:00 , 2016-08-09 19:00:00 , 2016-08-09 22:00:00 , 2016-08-10 01:00:00 , 2016-08-10 04:00:00 , 2016-08-10 07:00:00 , 2016-08-10 10:00:00 , 2016-08-10 13:00:00 , 2016-08-10 16:00:00 , 2016-08-10 19:00:00 , 2016-08-10 22:00:00 , 2016-08-11 01:00:00 , 2016-08-11 04:00:00 , 2016-08-11 07:00:00 , 2016-08-11 10:00:00 , 2016-08-11 13:00:00 , 2016-08-11 16:00:00 , 2016-08-11 19:00:00 , 2016-08-11 22:00:00 , 2016-08-12 01:00:00 , 2016-08-12 04:00:00 , 2016-08-12 07:00:00 , 2016-08-12 10:00:00 , 2016-08-12 13:00:00 , 2016-08-12 16:00:00 , 2016-08-12 19:00:00 , 2016-08-12 22:00:00 , 2016-08-13 01:00:00 , 2016-08-13 04:00:00 , 2016-08-13 07:00:00 , 2016-08-13 10:00:00 , 2016-08-13 13:00:00 , 2016-08-13 16:00:00 , 2016-08-13 19:00:00 , 2016-08-13 22:00:00 , 2016-08-14 01:00:00 , 2016-08-14 04:00:00 , 2016-08-14 07:00:00 , 2016-08-14 10:00:00 , 2016-08-14 13:00:00 , 2016-08-14 16:00:00 , 2016-08-14 19:00:00 , 2016-08-14 22:00:00 , 2016-08-15 01:00:00 , 2016-08-15 04:00:00 , 2016-08-15 07:00:00 , 2016-08-15 10:00:00 , 2016-08-15 13:00:00 , 2016-08-15 16:00:00 , 2016-08-15 19:00:00 , 2016-08-15 22:00:00 , 2016-08-16 01:00:00 , 2016-08-16 04:00:00 , 2016-08-16 07:00:00 , 2016-08-16 10:00:00 , 2016-08-16 13:00:00 , 2016-08-16 16:00:00 , 2016-08-16 19:00:00 , 2016-08-16 22:00:00 , 2016-08-17 01:00:00 , 2016-08-17 04:00:00 , 2016-08-17 07:00:00 , 2016-08-17 10:00:00 , 2016-08-17 13:00:00 , 2016-08-17 16:00:00 , 2016-08-17 19:00:00 , 2016-08-17 22:00:00 , 2016-08-18 01:00:00 , 2016-08-18 04:00:00 , 2016-08-18 07:00:00 , 2016-08-18 10:00:00 , 2016-08-18 13:00:00 , 2016-08-18 16:00:00 , 2016-08-18 19:00:00 , 2016-08-18 22:00:00 , 2016-08-19 01:00:00 , 2016-08-19 04:00:00 , 2016-08-19 07:00:00 , 2016-08-19 10:00:00 , 2016-08-19 13:00:00 , 2016-08-19 16:00:00 , 2016-08-19 19:00:00 , 2016-08-19 22:00:00 , 2016-08-20 01:00:00 , 2016-08-20 04:00:00 , 2016-08-20 07:00:00 , 2016-08-20 10:00:00 , 2016-08-20 13:00:00 , 2016-08-20 16:00:00 , 2016-08-20 19:00:00 , 2016-08-20 22:00:00 , 2016-08-21 01:00:00 , 2016-08-21 04:00:00 , 2016-08-21 07:00:00 , 2016-08-21 10:00:00 , 2016-08-21 13:00:00 , 2016-08-21 16:00:00 , 2016-08-21 19:00:00 , 2016-08-21 22:00:00 , 2016-08-22 01:00:00 , 2016-08-22 04:00:00 , 2016-08-22 07:00:00 , 2016-08-22 10:00:00 , =================
=================
2016-09-12 15:15:27
2016-09-12 15:45:27
=================
时间跨度30分钟
interval 10秒
2016-09-12 15:15:27 , 2016-09-12 15:15:37 , 2016-09-12 15:15:47 , 2016-09-12 15:15:57 , 2016-09-12 15:16:07 , 2016-09-12 15:16:17 , 2016-09-12 15:16:27 , 2016-09-12 15:16:37 , 2016-09-12 15:16:47 , 2016-09-12 15:16:57 , 2016-09-12 15:17:07 , 2016-09-12 15:17:17 , 2016-09-12 15:17:27 , 2016-09-12 15:17:37 , 2016-09-12 15:17:47 , 2016-09-12 15:17:57 , 2016-09-12 15:18:07 , 2016-09-12 15:18:17 , 2016-09-12 15:18:27 , 2016-09-12 15:18:37 , 2016-09-12 15:18:47 , 2016-09-12 15:18:57 , 2016-09-12 15:19:07 , 2016-09-12 15:19:17 , 2016-09-12 15:19:27 , 2016-09-12 15:19:37 , 2016-09-12 15:19:47 , 2016-09-12 15:19:57 , 2016-09-12 15:20:07 , 2016-09-12 15:20:17 , 2016-09-12 15:20:27 , 2016-09-12 15:20:37 , 2016-09-12 15:20:47 , 2016-09-12 15:20:57 , 2016-09-12 15:21:07 , 2016-09-12 15:21:17 , 2016-09-12 15:21:27 , 2016-09-12 15:21:37 , 2016-09-12 15:21:47 , 2016-09-12 15:21:57 , 2016-09-12 15:22:07 , 2016-09-12 15:22:17 , 2016-09-12 15:22:27 , 2016-09-12 15:22:37 , 2016-09-12 15:22:47 , 2016-09-12 15:22:57 , 2016-09-12 15:23:07 , 2016-09-12 15:23:17 , 2016-09-12 15:23:27 , 2016-09-12 15:23:37 , 2016-09-12 15:23:47 , 2016-09-12 15:23:57 , 2016-09-12 15:24:07 , 2016-09-12 15:24:17 , 2016-09-12 15:24:27 , 2016-09-12 15:24:37 , 2016-09-12 15:24:47 , 2016-09-12 15:24:57 , 2016-09-12 15:25:07 , 2016-09-12 15:25:17 , 2016-09-12 15:25:27 , 2016-09-12 15:25:37 , 2016-09-12 15:25:47 , 2016-09-12 15:25:57 , 2016-09-12 15:26:07 , 2016-09-12 15:26:17 , 2016-09-12 15:26:27 , 2016-09-12 15:26:37 , 2016-09-12 15:26:47 , 2016-09-12 15:26:57 , 2016-09-12 15:27:07 , 2016-09-12 15:27:17 , 2016-09-12 15:27:27 , 2016-09-12 15:27:37 , 2016-09-12 15:27:47 , 2016-09-12 15:27:57 , 2016-09-12 15:28:07 , 2016-09-12 15:28:17 , 2016-09-12 15:28:27 , 2016-09-12 15:28:37 , 2016-09-12 15:28:47 , 2016-09-12 15:28:57 , 2016-09-12 15:29:07 , 2016-09-12 15:29:17 , 2016-09-12 15:29:27 , 2016-09-12 15:29:37 , 2016-09-12 15:29:47 , 2016-09-12 15:29:57 , 2016-09-12 15:30:07 , 2016-09-12 15:30:17 , 2016-09-12 15:30:27 , 2016-09-12 15:30:37 , 2016-09-12 15:30:47 , 2016-09-12 15:30:57 , 2016-09-12 15:31:07 , 2016-09-12 15:31:17 , 2016-09-12 15:31:27 , 2016-09-12 15:31:37 , 2016-09-12 15:31:47 , 2016-09-12 15:31:57 , 2016-09-12 15:32:07 , 2016-09-12 15:32:17 , 2016-09-12 15:32:27 , 2016-09-12 15:32:37 , 2016-09-12 15:32:47 , 2016-09-12 15:32:57 , 2016-09-12 15:33:07 , 2016-09-12 15:33:17 , 2016-09-12 15:33:27 , 2016-09-12 15:33:37 , 2016-09-12 15:33:47 , 2016-09-12 15:33:57 , 2016-09-12 15:34:07 , 2016-09-12 15:34:17 , 2016-09-12 15:34:27 , 2016-09-12 15:34:37 , 2016-09-12 15:34:47 , 2016-09-12 15:34:57 , 2016-09-12 15:35:07 , 2016-09-12 15:35:17 , 2016-09-12 15:35:27 , 2016-09-12 15:35:37 , 2016-09-12 15:35:47 , 2016-09-12 15:35:57 , 2016-09-12 15:36:07 , 2016-09-12 15:36:17 , 2016-09-12 15:36:27 , 2016-09-12 15:36:37 , 2016-09-12 15:36:47 , 2016-09-12 15:36:57 , 2016-09-12 15:37:07 , 2016-09-12 15:37:17 , 2016-09-12 15:37:27 , 2016-09-12 15:37:37 , 2016-09-12 15:37:47 , 2016-09-12 15:37:57 , 2016-09-12 15:38:07 , 2016-09-12 15:38:17 , 2016-09-12 15:38:27 , 2016-09-12 15:38:37 , 2016-09-12 15:38:47 , 2016-09-12 15:38:57 , 2016-09-12 15:39:07 , 2016-09-12 15:39:17 , 2016-09-12 15:39:27 , 2016-09-12 15:39:37 , 2016-09-12 15:39:47 , 2016-09-12 15:39:57 , 2016-09-12 15:40:07 , 2016-09-12 15:40:17 , 2016-09-12 15:40:27 , 2016-09-12 15:40:37 , 2016-09-12 15:40:47 , 2016-09-12 15:40:57 , 2016-09-12 15:41:07 , 2016-09-12 15:41:17 , 2016-09-12 15:41:27 , 2016-09-12 15:41:37 , 2016-09-12 15:41:47 , 2016-09-12 15:41:57 , 2016-09-12 15:42:07 , 2016-09-12 15:42:17 , 2016-09-12 15:42:27 , 2016-09-12 15:42:37 , 2016-09-12 15:42:47 , 2016-09-12 15:42:57 , 2016-09-12 15:43:07 , 2016-09-12 15:43:17 , 2016-09-12 15:43:27 , 2016-09-12 15:43:37 , 2016-09-12 15:43:47 , 2016-09-12 15:43:57 , 2016-09-12 15:44:07 , 2016-09-12 15:44:17 , 2016-09-12 15:44:27 , 2016-09-12 15:44:37 , 2016-09-12 15:44:47 , 2016-09-12 15:44:57 , 2016-09-12 15:45:07 , 2016-09-12 15:45:17 , 2016-09-12 15:45:27 , =================
=================
2016-09-12 14:15:27
2016-09-12 20:15:27
=================
时间跨度6小时
interval 2分钟
2016-09-12 14:15:00 , 2016-09-12 14:17:00 , 2016-09-12 14:19:00 , 2016-09-12 14:21:00 , 2016-09-12 14:23:00 , 2016-09-12 14:25:00 , 2016-09-12 14:27:00 , 2016-09-12 14:29:00 , 2016-09-12 14:31:00 , 2016-09-12 14:33:00 , 2016-09-12 14:35:00 , 2016-09-12 14:37:00 , 2016-09-12 14:39:00 , 2016-09-12 14:41:00 , 2016-09-12 14:43:00 , 2016-09-12 14:45:00 , 2016-09-12 14:47:00 , 2016-09-12 14:49:00 , 2016-09-12 14:51:00 , 2016-09-12 14:53:00 , 2016-09-12 14:55:00 , 2016-09-12 14:57:00 , 2016-09-12 14:59:00 , 2016-09-12 15:01:00 , 2016-09-12 15:03:00 , 2016-09-12 15:05:00 , 2016-09-12 15:07:00 , 2016-09-12 15:09:00 , 2016-09-12 15:11:00 , 2016-09-12 15:13:00 , 2016-09-12 15:15:00 , 2016-09-12 15:17:00 , 2016-09-12 15:19:00 , 2016-09-12 15:21:00 , 2016-09-12 15:23:00 , 2016-09-12 15:25:00 , 2016-09-12 15:27:00 , 2016-09-12 15:29:00 , 2016-09-12 15:31:00 , 2016-09-12 15:33:00 , 2016-09-12 15:35:00 , 2016-09-12 15:37:00 , 2016-09-12 15:39:00 , 2016-09-12 15:41:00 , 2016-09-12 15:43:00 , 2016-09-12 15:45:00 , 2016-09-12 15:47:00 , 2016-09-12 15:49:00 , 2016-09-12 15:51:00 , 2016-09-12 15:53:00 , 2016-09-12 15:55:00 , 2016-09-12 15:57:00 , 2016-09-12 15:59:00 , 2016-09-12 16:01:00 , 2016-09-12 16:03:00 , 2016-09-12 16:05:00 , 2016-09-12 16:07:00 , 2016-09-12 16:09:00 , 2016-09-12 16:11:00 , 2016-09-12 16:13:00 , 2016-09-12 16:15:00 , 2016-09-12 16:17:00 , 2016-09-12 16:19:00 , 2016-09-12 16:21:00 , 2016-09-12 16:23:00 , 2016-09-12 16:25:00 , 2016-09-12 16:27:00 , 2016-09-12 16:29:00 , 2016-09-12 16:31:00 , 2016-09-12 16:33:00 , 2016-09-12 16:35:00 , 2016-09-12 16:37:00 , 2016-09-12 16:39:00 , 2016-09-12 16:41:00 , 2016-09-12 16:43:00 , 2016-09-12 16:45:00 , 2016-09-12 16:47:00 , 2016-09-12 16:49:00 , 2016-09-12 16:51:00 , 2016-09-12 16:53:00 , 2016-09-12 16:55:00 , 2016-09-12 16:57:00 , 2016-09-12 16:59:00 , 2016-09-12 17:01:00 , 2016-09-12 17:03:00 , 2016-09-12 17:05:00 , 2016-09-12 17:07:00 , 2016-09-12 17:09:00 , 2016-09-12 17:11:00 , 2016-09-12 17:13:00 , 2016-09-12 17:15:00 , 2016-09-12 17:17:00 , 2016-09-12 17:19:00 , 2016-09-12 17:21:00 , 2016-09-12 17:23:00 , 2016-09-12 17:25:00 , 2016-09-12 17:27:00 , 2016-09-12 17:29:00 , 2016-09-12 17:31:00 , 2016-09-12 17:33:00 , 2016-09-12 17:35:00 , 2016-09-12 17:37:00 , 2016-09-12 17:39:00 , 2016-09-12 17:41:00 , 2016-09-12 17:43:00 , 2016-09-12 17:45:00 , 2016-09-12 17:47:00 , 2016-09-12 17:49:00 , 2016-09-12 17:51:00 , 2016-09-12 17:53:00 , 2016-09-12 17:55:00 , 2016-09-12 17:57:00 , 2016-09-12 17:59:00 , 2016-09-12 18:01:00 , 2016-09-12 18:03:00 , 2016-09-12 18:05:00 , 2016-09-12 18:07:00 , 2016-09-12 18:09:00 , 2016-09-12 18:11:00 , 2016-09-12 18:13:00 , 2016-09-12 18:15:00 , 2016-09-12 18:17:00 , 2016-09-12 18:19:00 , 2016-09-12 18:21:00 , 2016-09-12 18:23:00 , 2016-09-12 18:25:00 , 2016-09-12 18:27:00 , 2016-09-12 18:29:00 , 2016-09-12 18:31:00 , 2016-09-12 18:33:00 , 2016-09-12 18:35:00 , 2016-09-12 18:37:00 , 2016-09-12 18:39:00 , 2016-09-12 18:41:00 , 2016-09-12 18:43:00 , 2016-09-12 18:45:00 , 2016-09-12 18:47:00 , 2016-09-12 18:49:00 , 2016-09-12 18:51:00 , 2016-09-12 18:53:00 , 2016-09-12 18:55:00 , 2016-09-12 18:57:00 , 2016-09-12 18:59:00 , 2016-09-12 19:01:00 , 2016-09-12 19:03:00 , 2016-09-12 19:05:00 , 2016-09-12 19:07:00 , 2016-09-12 19:09:00 , 2016-09-12 19:11:00 , 2016-09-12 19:13:00 , 2016-09-12 19:15:00 , 2016-09-12 19:17:00 , 2016-09-12 19:19:00 , 2016-09-12 19:21:00 , 2016-09-12 19:23:00 , 2016-09-12 19:25:00 , 2016-09-12 19:27:00 , 2016-09-12 19:29:00 , 2016-09-12 19:31:00 , 2016-09-12 19:33:00 , 2016-09-12 19:35:00 , 2016-09-12 19:37:00 , 2016-09-12 19:39:00 , 2016-09-12 19:41:00 , 2016-09-12 19:43:00 , 2016-09-12 19:45:00 , 2016-09-12 19:47:00 , 2016-09-12 19:49:00 , 2016-09-12 19:51:00 , 2016-09-12 19:53:00 , 2016-09-12 19:55:00 , 2016-09-12 19:57:00 , 2016-09-12 19:59:00 , 2016-09-12 20:01:00 , 2016-09-12 20:03:00 , 2016-09-12 20:05:00 , 2016-09-12 20:07:00 , 2016-09-12 20:09:00 , 2016-09-12 20:11:00 , 2016-09-12 20:13:00 , 2016-09-12 20:15:00 , =================
=================
2016-09-09 02:15:27
2016-09-10 02:15:27
=================
时间跨度1天
interval 10分钟
2016-09-09 02:15:00 , 2016-09-09 02:25:00 , 2016-09-09 02:35:00 , 2016-09-09 02:45:00 , 2016-09-09 02:55:00 , 2016-09-09 03:05:00 , 2016-09-09 03:15:00 , 2016-09-09 03:25:00 , 2016-09-09 03:35:00 , 2016-09-09 03:45:00 , 2016-09-09 03:55:00 , 2016-09-09 04:05:00 , 2016-09-09 04:15:00 , 2016-09-09 04:25:00 , 2016-09-09 04:35:00 , 2016-09-09 04:45:00 , 2016-09-09 04:55:00 , 2016-09-09 05:05:00 , 2016-09-09 05:15:00 , 2016-09-09 05:25:00 , 2016-09-09 05:35:00 , 2016-09-09 05:45:00 , 2016-09-09 05:55:00 , 2016-09-09 06:05:00 , 2016-09-09 06:15:00 , 2016-09-09 06:25:00 , 2016-09-09 06:35:00 , 2016-09-09 06:45:00 , 2016-09-09 06:55:00 , 2016-09-09 07:05:00 , 2016-09-09 07:15:00 , 2016-09-09 07:25:00 , 2016-09-09 07:35:00 , 2016-09-09 07:45:00 , 2016-09-09 07:55:00 , 2016-09-09 08:05:00 , 2016-09-09 08:15:00 , 2016-09-09 08:25:00 , 2016-09-09 08:35:00 , 2016-09-09 08:45:00 , 2016-09-09 08:55:00 , 2016-09-09 09:05:00 , 2016-09-09 09:15:00 , 2016-09-09 09:25:00 , 2016-09-09 09:35:00 , 2016-09-09 09:45:00 , 2016-09-09 09:55:00 , 2016-09-09 10:05:00 , 2016-09-09 10:15:00 , 2016-09-09 10:25:00 , 2016-09-09 10:35:00 , 2016-09-09 10:45:00 , 2016-09-09 10:55:00 , 2016-09-09 11:05:00 , 2016-09-09 11:15:00 , 2016-09-09 11:25:00 , 2016-09-09 11:35:00 , 2016-09-09 11:45:00 , 2016-09-09 11:55:00 , 2016-09-09 12:05:00 , 2016-09-09 12:15:00 , 2016-09-09 12:25:00 , 2016-09-09 12:35:00 , 2016-09-09 12:45:00 , 2016-09-09 12:55:00 , 2016-09-09 13:05:00 , 2016-09-09 13:15:00 , 2016-09-09 13:25:00 , 2016-09-09 13:35:00 , 2016-09-09 13:45:00 , 2016-09-09 13:55:00 , 2016-09-09 14:05:00 , 2016-09-09 14:15:00 , 2016-09-09 14:25:00 , 2016-09-09 14:35:00 , 2016-09-09 14:45:00 , 2016-09-09 14:55:00 , 2016-09-09 15:05:00 , 2016-09-09 15:15:00 , 2016-09-09 15:25:00 , 2016-09-09 15:35:00 , 2016-09-09 15:45:00 , 2016-09-09 15:55:00 , 2016-09-09 16:05:00 , 2016-09-09 16:15:00 , 2016-09-09 16:25:00 , 2016-09-09 16:35:00 , 2016-09-09 16:45:00 , 2016-09-09 16:55:00 , 2016-09-09 17:05:00 , 2016-09-09 17:15:00 , 2016-09-09 17:25:00 , 2016-09-09 17:35:00 , 2016-09-09 17:45:00 , 2016-09-09 17:55:00 , 2016-09-09 18:05:00 , 2016-09-09 18:15:00 , 2016-09-09 18:25:00 , 2016-09-09 18:35:00 , 2016-09-09 18:45:00 , 2016-09-09 18:55:00 , 2016-09-09 19:05:00 , 2016-09-09 19:15:00 , 2016-09-09 19:25:00 , 2016-09-09 19:35:00 , 2016-09-09 19:45:00 , 2016-09-09 19:55:00 , 2016-09-09 20:05:00 , 2016-09-09 20:15:00 , 2016-09-09 20:25:00 , 2016-09-09 20:35:00 , 2016-09-09 20:45:00 , 2016-09-09 20:55:00 , 2016-09-09 21:05:00 , 2016-09-09 21:15:00 , 2016-09-09 21:25:00 , 2016-09-09 21:35:00 , 2016-09-09 21:45:00 , 2016-09-09 21:55:00 , 2016-09-09 22:05:00 , 2016-09-09 22:15:00 , 2016-09-09 22:25:00 , 2016-09-09 22:35:00 , 2016-09-09 22:45:00 , 2016-09-09 22:55:00 , 2016-09-09 23:05:00 , 2016-09-09 23:15:00 , 2016-09-09 23:25:00 , 2016-09-09 23:35:00 , 2016-09-09 23:45:00 , 2016-09-09 23:55:00 , 2016-09-10 00:05:00 , 2016-09-10 00:15:00 , 2016-09-10 00:25:00 , 2016-09-10 00:35:00 , 2016-09-10 00:45:00 , 2016-09-10 00:55:00 , 2016-09-10 01:05:00 , 2016-09-10 01:15:00 , 2016-09-10 01:25:00 , 2016-09-10 01:35:00 , 2016-09-10 01:45:00 , 2016-09-10 01:55:00 , 2016-09-10 02:05:00 , 2016-09-10 02:15:00 , =================
=================
2016-09-09 14:15:27
2016-09-12 14:15:27
=================
时间跨度3天
interval 30分钟
2016-09-09 14:00:00 , 2016-09-09 14:30:00 , 2016-09-09 15:00:00 , 2016-09-09 15:30:00 , 2016-09-09 16:00:00 , 2016-09-09 16:30:00 , 2016-09-09 17:00:00 , 2016-09-09 17:30:00 , 2016-09-09 18:00:00 , 2016-09-09 18:30:00 , 2016-09-09 19:00:00 , 2016-09-09 19:30:00 , 2016-09-09 20:00:00 , 2016-09-09 20:30:00 , 2016-09-09 21:00:00 , 2016-09-09 21:30:00 , 2016-09-09 22:00:00 , 2016-09-09 22:30:00 , 2016-09-09 23:00:00 , 2016-09-09 23:30:00 , 2016-09-10 00:00:00 , 2016-09-10 00:30:00 , 2016-09-10 01:00:00 , 2016-09-10 01:30:00 , 2016-09-10 02:00:00 , 2016-09-10 02:30:00 , 2016-09-10 03:00:00 , 2016-09-10 03:30:00 , 2016-09-10 04:00:00 , 2016-09-10 04:30:00 , 2016-09-10 05:00:00 , 2016-09-10 05:30:00 , 2016-09-10 06:00:00 , 2016-09-10 06:30:00 , 2016-09-10 07:00:00 , 2016-09-10 07:30:00 , 2016-09-10 08:00:00 , 2016-09-10 08:30:00 , 2016-09-10 09:00:00 , 2016-09-10 09:30:00 , 2016-09-10 10:00:00 , 2016-09-10 10:30:00 , 2016-09-10 11:00:00 , 2016-09-10 11:30:00 , 2016-09-10 12:00:00 , 2016-09-10 12:30:00 , 2016-09-10 13:00:00 , 2016-09-10 13:30:00 , 2016-09-10 14:00:00 , 2016-09-10 14:30:00 , 2016-09-10 15:00:00 , 2016-09-10 15:30:00 , 2016-09-10 16:00:00 , 2016-09-10 16:30:00 , 2016-09-10 17:00:00 , 2016-09-10 17:30:00 , 2016-09-10 18:00:00 , 2016-09-10 18:30:00 , 2016-09-10 19:00:00 , 2016-09-10 19:30:00 , 2016-09-10 20:00:00 , 2016-09-10 20:30:00 , 2016-09-10 21:00:00 , 2016-09-10 21:30:00 , 2016-09-10 22:00:00 , 2016-09-10 22:30:00 , 2016-09-10 23:00:00 , 2016-09-10 23:30:00 , 2016-09-11 00:00:00 , 2016-09-11 00:30:00 , 2016-09-11 01:00:00 , 2016-09-11 01:30:00 , 2016-09-11 02:00:00 , 2016-09-11 02:30:00 , 2016-09-11 03:00:00 , 2016-09-11 03:30:00 , 2016-09-11 04:00:00 , 2016-09-11 04:30:00 , 2016-09-11 05:00:00 , 2016-09-11 05:30:00 , 2016-09-11 06:00:00 , 2016-09-11 06:30:00 , 2016-09-11 07:00:00 , 2016-09-11 07:30:00 , 2016-09-11 08:00:00 , 2016-09-11 08:30:00 , 2016-09-11 09:00:00 , 2016-09-11 09:30:00 , 2016-09-11 10:00:00 , 2016-09-11 10:30:00 , 2016-09-11 11:00:00 , 2016-09-11 11:30:00 , 2016-09-11 12:00:00 , 2016-09-11 12:30:00 , 2016-09-11 13:00:00 , 2016-09-11 13:30:00 , 2016-09-11 14:00:00 , 2016-09-11 14:30:00 , 2016-09-11 15:00:00 , 2016-09-11 15:30:00 , 2016-09-11 16:00:00 , 2016-09-11 16:30:00 , 2016-09-11 17:00:00 , 2016-09-11 17:30:00 , 2016-09-11 18:00:00 , 2016-09-11 18:30:00 , 2016-09-11 19:00:00 , 2016-09-11 19:30:00 , 2016-09-11 20:00:00 , 2016-09-11 20:30:00 , 2016-09-11 21:00:00 , 2016-09-11 21:30:00 , 2016-09-11 22:00:00 , 2016-09-11 22:30:00 , 2016-09-11 23:00:00 , 2016-09-11 23:30:00 , 2016-09-12 00:00:00 , 2016-09-12 00:30:00 , 2016-09-12 01:00:00 , 2016-09-12 01:30:00 , 2016-09-12 02:00:00 , 2016-09-12 02:30:00 , 2016-09-12 03:00:00 , 2016-09-12 03:30:00 , 2016-09-12 04:00:00 , 2016-09-12 04:30:00 , 2016-09-12 05:00:00 , 2016-09-12 05:30:00 , 2016-09-12 06:00:00 , 2016-09-12 06:30:00 , 2016-09-12 07:00:00 , 2016-09-12 07:30:00 , 2016-09-12 08:00:00 , 2016-09-12 08:30:00 , 2016-09-12 09:00:00 , 2016-09-12 09:30:00 , 2016-09-12 10:00:00 , 2016-09-12 10:30:00 , 2016-09-12 11:00:00 , 2016-09-12 11:30:00 , 2016-09-12 12:00:00 , 2016-09-12 12:30:00 , 2016-09-12 13:00:00 , 2016-09-12 13:30:00 , 2016-09-12 14:00:00 , =================
=================
2016-09-05 14:15:27
2016-09-12 14:15:27
=================
时间跨度7天
interval 1小时
2016-09-05 14:00:00 , 2016-09-05 15:00:00 , 2016-09-05 16:00:00 , 2016-09-05 17:00:00 , 2016-09-05 18:00:00 , 2016-09-05 19:00:00 , 2016-09-05 20:00:00 , 2016-09-05 21:00:00 , 2016-09-05 22:00:00 , 2016-09-05 23:00:00 , 2016-09-06 00:00:00 , 2016-09-06 01:00:00 , 2016-09-06 02:00:00 , 2016-09-06 03:00:00 , 2016-09-06 04:00:00 , 2016-09-06 05:00:00 , 2016-09-06 06:00:00 , 2016-09-06 07:00:00 , 2016-09-06 08:00:00 , 2016-09-06 09:00:00 , 2016-09-06 10:00:00 , 2016-09-06 11:00:00 , 2016-09-06 12:00:00 , 2016-09-06 13:00:00 , 2016-09-06 14:00:00 , 2016-09-06 15:00:00 , 2016-09-06 16:00:00 , 2016-09-06 17:00:00 , 2016-09-06 18:00:00 , 2016-09-06 19:00:00 , 2016-09-06 20:00:00 , 2016-09-06 21:00:00 , 2016-09-06 22:00:00 , 2016-09-06 23:00:00 , 2016-09-07 00:00:00 , 2016-09-07 01:00:00 , 2016-09-07 02:00:00 , 2016-09-07 03:00:00 , 2016-09-07 04:00:00 , 2016-09-07 05:00:00 , 2016-09-07 06:00:00 , 2016-09-07 07:00:00 , 2016-09-07 08:00:00 , 2016-09-07 09:00:00 , 2016-09-07 10:00:00 , 2016-09-07 11:00:00 , 2016-09-07 12:00:00 , 2016-09-07 13:00:00 , 2016-09-07 14:00:00 , 2016-09-07 15:00:00 , 2016-09-07 16:00:00 , 2016-09-07 17:00:00 , 2016-09-07 18:00:00 , 2016-09-07 19:00:00 , 2016-09-07 20:00:00 , 2016-09-07 21:00:00 , 2016-09-07 22:00:00 , 2016-09-07 23:00:00 , 2016-09-08 00:00:00 , 2016-09-08 01:00:00 , 2016-09-08 02:00:00 , 2016-09-08 03:00:00 , 2016-09-08 04:00:00 , 2016-09-08 05:00:00 , 2016-09-08 06:00:00 , 2016-09-08 07:00:00 , 2016-09-08 08:00:00 , 2016-09-08 09:00:00 , 2016-09-08 10:00:00 , 2016-09-08 11:00:00 , 2016-09-08 12:00:00 , 2016-09-08 13:00:00 , 2016-09-08 14:00:00 , 2016-09-08 15:00:00 , 2016-09-08 16:00:00 , 2016-09-08 17:00:00 , 2016-09-08 18:00:00 , 2016-09-08 19:00:00 , 2016-09-08 20:00:00 , 2016-09-08 21:00:00 , 2016-09-08 22:00:00 , 2016-09-08 23:00:00 , 2016-09-09 00:00:00 , 2016-09-09 01:00:00 , 2016-09-09 02:00:00 , 2016-09-09 03:00:00 , 2016-09-09 04:00:00 , 2016-09-09 05:00:00 , 2016-09-09 06:00:00 , 2016-09-09 07:00:00 , 2016-09-09 08:00:00 , 2016-09-09 09:00:00 , 2016-09-09 10:00:00 , 2016-09-09 11:00:00 , 2016-09-09 12:00:00 , 2016-09-09 13:00:00 , 2016-09-09 14:00:00 , 2016-09-09 15:00:00 , 2016-09-09 16:00:00 , 2016-09-09 17:00:00 , 2016-09-09 18:00:00 , 2016-09-09 19:00:00 , 2016-09-09 20:00:00 , 2016-09-09 21:00:00 , 2016-09-09 22:00:00 , 2016-09-09 23:00:00 , 2016-09-10 00:00:00 , 2016-09-10 01:00:00 , 2016-09-10 02:00:00 , 2016-09-10 03:00:00 , 2016-09-10 04:00:00 , 2016-09-10 05:00:00 , 2016-09-10 06:00:00 , 2016-09-10 07:00:00 , 2016-09-10 08:00:00 , 2016-09-10 09:00:00 , 2016-09-10 10:00:00 , 2016-09-10 11:00:00 , 2016-09-10 12:00:00 , 2016-09-10 13:00:00 , 2016-09-10 14:00:00 , 2016-09-10 15:00:00 , 2016-09-10 16:00:00 , 2016-09-10 17:00:00 , 2016-09-10 18:00:00 , 2016-09-10 19:00:00 , 2016-09-10 20:00:00 , 2016-09-10 21:00:00 , 2016-09-10 22:00:00 , 2016-09-10 23:00:00 , 2016-09-11 00:00:00 , 2016-09-11 01:00:00 , 2016-09-11 02:00:00 , 2016-09-11 03:00:00 , 2016-09-11 04:00:00 , 2016-09-11 05:00:00 , 2016-09-11 06:00:00 , 2016-09-11 07:00:00 , 2016-09-11 08:00:00 , 2016-09-11 09:00:00 , 2016-09-11 10:00:00 , 2016-09-11 11:00:00 , 2016-09-11 12:00:00 , 2016-09-11 13:00:00 , 2016-09-11 14:00:00 , 2016-09-11 15:00:00 , 2016-09-11 16:00:00 , 2016-09-11 17:00:00 , 2016-09-11 18:00:00 , 2016-09-11 19:00:00 , 2016-09-11 20:00:00 , 2016-09-11 21:00:00 , 2016-09-11 22:00:00 , 2016-09-11 23:00:00 , 2016-09-12 00:00:00 , 2016-09-12 01:00:00 , 2016-09-12 02:00:00 , 2016-09-12 03:00:00 , 2016-09-12 04:00:00 , 2016-09-12 05:00:00 , 2016-09-12 06:00:00 , 2016-09-12 07:00:00 , 2016-09-12 08:00:00 , 2016-09-12 09:00:00 , 2016-09-12 10:00:00 , 2016-09-12 11:00:00 , 2016-09-12 12:00:00 , 2016-09-12 13:00:00 , 2016-09-12 14:00:00 , =================
=================
2016-09-09 02:15:27
2016-09-09 14:15:27
=================
时间跨度12小时
interval 4分钟
2016-09-09 02:15:00 , 2016-09-09 02:19:00 , 2016-09-09 02:23:00 , 2016-09-09 02:27:00 , 2016-09-09 02:31:00 , 2016-09-09 02:35:00 , 2016-09-09 02:39:00 , 2016-09-09 02:43:00 , 2016-09-09 02:47:00 , 2016-09-09 02:51:00 , 2016-09-09 02:55:00 , 2016-09-09 02:59:00 , 2016-09-09 03:03:00 , 2016-09-09 03:07:00 , 2016-09-09 03:11:00 , 2016-09-09 03:15:00 , 2016-09-09 03:19:00 , 2016-09-09 03:23:00 , 2016-09-09 03:27:00 , 2016-09-09 03:31:00 , 2016-09-09 03:35:00 , 2016-09-09 03:39:00 , 2016-09-09 03:43:00 , 2016-09-09 03:47:00 , 2016-09-09 03:51:00 , 2016-09-09 03:55:00 , 2016-09-09 03:59:00 , 2016-09-09 04:03:00 , 2016-09-09 04:07:00 , 2016-09-09 04:11:00 , 2016-09-09 04:15:00 , 2016-09-09 04:19:00 , 2016-09-09 04:23:00 , 2016-09-09 04:27:00 , 2016-09-09 04:31:00 , 2016-09-09 04:35:00 , 2016-09-09 04:39:00 , 2016-09-09 04:43:00 , 2016-09-09 04:47:00 , 2016-09-09 04:51:00 , 2016-09-09 04:55:00 , 2016-09-09 04:59:00 , 2016-09-09 05:03:00 , 2016-09-09 05:07:00 , 2016-09-09 05:11:00 , 2016-09-09 05:15:00 , 2016-09-09 05:19:00 , 2016-09-09 05:23:00 , 2016-09-09 05:27:00 , 2016-09-09 05:31:00 , 2016-09-09 05:35:00 , 2016-09-09 05:39:00 , 2016-09-09 05:43:00 , 2016-09-09 05:47:00 , 2016-09-09 05:51:00 , 2016-09-09 05:55:00 , 2016-09-09 05:59:00 , 2016-09-09 06:03:00 , 2016-09-09 06:07:00 , 2016-09-09 06:11:00 , 2016-09-09 06:15:00 , 2016-09-09 06:19:00 , 2016-09-09 06:23:00 , 2016-09-09 06:27:00 , 2016-09-09 06:31:00 , 2016-09-09 06:35:00 , 2016-09-09 06:39:00 , 2016-09-09 06:43:00 , 2016-09-09 06:47:00 , 2016-09-09 06:51:00 , 2016-09-09 06:55:00 , 2016-09-09 06:59:00 , 2016-09-09 07:03:00 , 2016-09-09 07:07:00 , 2016-09-09 07:11:00 , 2016-09-09 07:15:00 , 2016-09-09 07:19:00 , 2016-09-09 07:23:00 , 2016-09-09 07:27:00 , 2016-09-09 07:31:00 , 2016-09-09 07:35:00 , 2016-09-09 07:39:00 , 2016-09-09 07:43:00 , 2016-09-09 07:47:00 , 2016-09-09 07:51:00 , 2016-09-09 07:55:00 , 2016-09-09 07:59:00 , 2016-09-09 08:03:00 , 2016-09-09 08:07:00 , 2016-09-09 08:11:00 , 2016-09-09 08:15:00 , 2016-09-09 08:19:00 , 2016-09-09 08:23:00 , 2016-09-09 08:27:00 , 2016-09-09 08:31:00 , 2016-09-09 08:35:00 , 2016-09-09 08:39:00 , 2016-09-09 08:43:00 , 2016-09-09 08:47:00 , 2016-09-09 08:51:00 , 2016-09-09 08:55:00 , 2016-09-09 08:59:00 , 2016-09-09 09:03:00 , 2016-09-09 09:07:00 , 2016-09-09 09:11:00 , 2016-09-09 09:15:00 , 2016-09-09 09:19:00 , 2016-09-09 09:23:00 , 2016-09-09 09:27:00 , 2016-09-09 09:31:00 , 2016-09-09 09:35:00 , 2016-09-09 09:39:00 , 2016-09-09 09:43:00 , 2016-09-09 09:47:00 , 2016-09-09 09:51:00 , 2016-09-09 09:55:00 , 2016-09-09 09:59:00 , 2016-09-09 10:03:00 , 2016-09-09 10:07:00 , 2016-09-09 10:11:00 , 2016-09-09 10:15:00 , 2016-09-09 10:19:00 , 2016-09-09 10:23:00 , 2016-09-09 10:27:00 , 2016-09-09 10:31:00 , 2016-09-09 10:35:00 , 2016-09-09 10:39:00 , 2016-09-09 10:43:00 , 2016-09-09 10:47:00 , 2016-09-09 10:51:00 , 2016-09-09 10:55:00 , 2016-09-09 10:59:00 , 2016-09-09 11:03:00 , 2016-09-09 11:07:00 , 2016-09-09 11:11:00 , 2016-09-09 11:15:00 , 2016-09-09 11:19:00 , 2016-09-09 11:23:00 , 2016-09-09 11:27:00 , 2016-09-09 11:31:00 , 2016-09-09 11:35:00 , 2016-09-09 11:39:00 , 2016-09-09 11:43:00 , 2016-09-09 11:47:00 , 2016-09-09 11:51:00 , 2016-09-09 11:55:00 , 2016-09-09 11:59:00 , 2016-09-09 12:03:00 , 2016-09-09 12:07:00 , 2016-09-09 12:11:00 , 2016-09-09 12:15:00 , 2016-09-09 12:19:00 , 2016-09-09 12:23:00 , 2016-09-09 12:27:00 , 2016-09-09 12:31:00 , 2016-09-09 12:35:00 , 2016-09-09 12:39:00 , 2016-09-09 12:43:00 , 2016-09-09 12:47:00 , 2016-09-09 12:51:00 , 2016-09-09 12:55:00 , 2016-09-09 12:59:00 , 2016-09-09 13:03:00 , 2016-09-09 13:07:00 , 2016-09-09 13:11:00 , 2016-09-09 13:15:00 , 2016-09-09 13:19:00 , 2016-09-09 13:23:00 , 2016-09-09 13:27:00 , 2016-09-09 13:31:00 , 2016-09-09 13:35:00 , 2016-09-09 13:39:00 , 2016-09-09 13:43:00 , 2016-09-09 13:47:00 , 2016-09-09 13:51:00 , 2016-09-09 13:55:00 , 2016-09-09 13:59:00 , 2016-09-09 14:03:00 , 2016-09-09 14:07:00 , 2016-09-09 14:11:00 , 2016-09-09 14:15:00 , =================
=================
2016-08-13 10:15:27
2016-09-12 10:15:27
=================
时间跨度1个月
interval 4小时
2016-08-13 10:00:00 , 2016-08-13 14:00:00 , 2016-08-13 18:00:00 , 2016-08-13 22:00:00 , 2016-08-14 02:00:00 , 2016-08-14 06:00:00 , 2016-08-14 10:00:00 , 2016-08-14 14:00:00 , 2016-08-14 18:00:00 , 2016-08-14 22:00:00 , 2016-08-15 02:00:00 , 2016-08-15 06:00:00 , 2016-08-15 10:00:00 , 2016-08-15 14:00:00 , 2016-08-15 18:00:00 , 2016-08-15 22:00:00 , 2016-08-16 02:00:00 , 2016-08-16 06:00:00 , 2016-08-16 10:00:00 , 2016-08-16 14:00:00 , 2016-08-16 18:00:00 , 2016-08-16 22:00:00 , 2016-08-17 02:00:00 , 2016-08-17 06:00:00 , 2016-08-17 10:00:00 , 2016-08-17 14:00:00 , 2016-08-17 18:00:00 , 2016-08-17 22:00:00 , 2016-08-18 02:00:00 , 2016-08-18 06:00:00 , 2016-08-18 10:00:00 , 2016-08-18 14:00:00 , 2016-08-18 18:00:00 , 2016-08-18 22:00:00 , 2016-08-19 02:00:00 , 2016-08-19 06:00:00 , 2016-08-19 10:00:00 , 2016-08-19 14:00:00 , 2016-08-19 18:00:00 , 2016-08-19 22:00:00 , 2016-08-20 02:00:00 , 2016-08-20 06:00:00 , 2016-08-20 10:00:00 , 2016-08-20 14:00:00 , 2016-08-20 18:00:00 , 2016-08-20 22:00:00 , 2016-08-21 02:00:00 , 2016-08-21 06:00:00 , 2016-08-21 10:00:00 , 2016-08-21 14:00:00 , 2016-08-21 18:00:00 , 2016-08-21 22:00:00 , 2016-08-22 02:00:00 , 2016-08-22 06:00:00 , 2016-08-22 10:00:00 , 2016-08-22 14:00:00 , 2016-08-22 18:00:00 , 2016-08-22 22:00:00 , 2016-08-23 02:00:00 , 2016-08-23 06:00:00 , 2016-08-23 10:00:00 , 2016-08-23 14:00:00 , 2016-08-23 18:00:00 , 2016-08-23 22:00:00 , 2016-08-24 02:00:00 , 2016-08-24 06:00:00 , 2016-08-24 10:00:00 , 2016-08-24 14:00:00 , 2016-08-24 18:00:00 , 2016-08-24 22:00:00 , 2016-08-25 02:00:00 , 2016-08-25 06:00:00 , 2016-08-25 10:00:00 , 2016-08-25 14:00:00 , 2016-08-25 18:00:00 , 2016-08-25 22:00:00 , 2016-08-26 02:00:00 , 2016-08-26 06:00:00 , 2016-08-26 10:00:00 , 2016-08-26 14:00:00 , 2016-08-26 18:00:00 , 2016-08-26 22:00:00 , 2016-08-27 02:00:00 , 2016-08-27 06:00:00 , 2016-08-27 10:00:00 , 2016-08-27 14:00:00 , 2016-08-27 18:00:00 , 2016-08-27 22:00:00 , 2016-08-28 02:00:00 , 2016-08-28 06:00:00 , 2016-08-28 10:00:00 , 2016-08-28 14:00:00 , 2016-08-28 18:00:00 , 2016-08-28 22:00:00 , 2016-08-29 02:00:00 , 2016-08-29 06:00:00 , 2016-08-29 10:00:00 , 2016-08-29 14:00:00 , 2016-08-29 18:00:00 , 2016-08-29 22:00:00 , 2016-08-30 02:00:00 , 2016-08-30 06:00:00 , 2016-08-30 10:00:00 , 2016-08-30 14:00:00 , 2016-08-30 18:00:00 , 2016-08-30 22:00:00 , 2016-08-31 02:00:00 , 2016-08-31 06:00:00 , 2016-08-31 10:00:00 , 2016-08-31 14:00:00 , 2016-08-31 18:00:00 , 2016-08-31 22:00:00 , 2016-09-01 02:00:00 , 2016-09-01 06:00:00 , 2016-09-01 10:00:00 , 2016-09-01 14:00:00 , 2016-09-01 18:00:00 , 2016-09-01 22:00:00 , 2016-09-02 02:00:00 , 2016-09-02 06:00:00 , 2016-09-02 10:00:00 , 2016-09-02 14:00:00 , 2016-09-02 18:00:00 , 2016-09-02 22:00:00 , 2016-09-03 02:00:00 , 2016-09-03 06:00:00 , 2016-09-03 10:00:00 , 2016-09-03 14:00:00 , 2016-09-03 18:00:00 , 2016-09-03 22:00:00 , 2016-09-04 02:00:00 , 2016-09-04 06:00:00 , 2016-09-04 10:00:00 , 2016-09-04 14:00:00 , 2016-09-04 18:00:00 , 2016-09-04 22:00:00 , 2016-09-05 02:00:00 , 2016-09-05 06:00:00 , 2016-09-05 10:00:00 , 2016-09-05 14:00:00 , 2016-09-05 18:00:00 , 2016-09-05 22:00:00 , 2016-09-06 02:00:00 , 2016-09-06 06:00:00 , 2016-09-06 10:00:00 , 2016-09-06 14:00:00 , 2016-09-06 18:00:00 , 2016-09-06 22:00:00 , 2016-09-07 02:00:00 , 2016-09-07 06:00:00 , 2016-09-07 10:00:00 , 2016-09-07 14:00:00 , 2016-09-07 18:00:00 , 2016-09-07 22:00:00 , 2016-09-08 02:00:00 , 2016-09-08 06:00:00 , 2016-09-08 10:00:00 , 2016-09-08 14:00:00 , 2016-09-08 18:00:00 , 2016-09-08 22:00:00 , 2016-09-09 02:00:00 , 2016-09-09 06:00:00 , 2016-09-09 10:00:00 , 2016-09-09 14:00:00 , 2016-09-09 18:00:00 , 2016-09-09 22:00:00 , 2016-09-10 02:00:00 , 2016-09-10 06:00:00 , 2016-09-10 10:00:00 , 2016-09-10 14:00:00 , 2016-09-10 18:00:00 , 2016-09-10 22:00:00 , 2016-09-11 02:00:00 , 2016-09-11 06:00:00 , 2016-09-11 10:00:00 , 2016-09-11 14:00:00 , 2016-09-11 18:00:00 , 2016-09-11 22:00:00 , 2016-09-12 02:00:00 , 2016-09-12 06:00:00 , 2016-09-12 10:00:00 , =================
Process finished with exit code 0

推荐阅读更多精彩内容