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())
    );
}

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值