javascript根据开始时间、结束时间、间隔时间(秒)得到多个时间点

提示:里面的加入开始时间、加入结束时间、时间间隔范围(默认60秒),请根据实际情况自行修改

不废话。直接上代码

function getDateArray(startDate, endDate, space) {
    if (!endDate) {
        endDate = new Date();
    }
    if (!startDate) {
        startDate = new Date(new Date().getTime() - 1 * 60 * 60 * 1000);
    }
    if (!space) {
        space = 600 * 1000;
    } else {
        space = space * 1000;
    }
    var endTime = endDate.getTime();
    var startTime = startDate.getTime();
    var mod = endTime - startTime;
    var res = {};
    if (mod < space) {
        res.code = 1;
        res.msg = '时间太短';
        return res;
    }
    if (mod > 86400000) {
        res.code = 1;
        res.msg = '时间范围过长,应在24小时内';
        return res;
    }
    var dateArray = [];
    // 加入结束时间
    a = new Date();
    a.setTime(endTime);
    a = nowtime(a);
    dateArray.push(a);
    while (mod - space >= space) {
        var d = new Date();
        d.setTime(endTime - space);
        d = nowtime(d);
        dateArray.push(d);
        mod = mod - space;
        endTime = endTime - space;
    }
    // 加入开始时间
    a = new Date();
    a.setTime(startTime);
    a = nowtime(a);
    dateArray.push(a);
    return dateArray;
}

function nowtime(dt) {
    return (
        dt.getFullYear() +
        "-" +
        (dt.getMonth() + 1 < 10
            ? "0" + (dt.getMonth() + 1)
            : dt.getMonth() + 1) +
        "-" +
        (dt.getDate() < 10 ? "0" + dt.getDate() : dt.getDate()) +
        " " +
        (dt.getHours() < 10 ? "0" + dt.getHours() : dt.getHours()) +
        ":" +
        (dt.getMinutes() < 10 ? "0" + dt.getMinutes() : dt.getMinutes()) +
        ":" +
        (dt.getSeconds() < 10 ? "0" + dt.getSeconds() : dt.getSeconds())
    );
}

 

你可能感兴趣的:(javascript,结束时间,间隔时间(秒)得)