JS 获取0-24小时每隔几分钟的数组

37 min read
    function timeSlot (step) {   //  step = 间隔的分钟
        var date = new Date()
        date.setHours(00)    // 时分秒设置从零点开始
        date.setSeconds(00)
        date.setUTCMinutes(00)
        // console.log(date.getHours())
        // console.log(date.getSeconds())
        // console.log(new Date(date.getTime()))
        
        var arr = [], timeArr = [];
        var slotNum = 24*60/step   // 算出多少个间隔
        for (var f = 0; f < slotNum; f++) {   //  stepM * f = 24H*60M
            // arr.push(new Date(Number(date.getTime()) + Number(step*60*1000*f)))   //  标准时间数组
            var time = new Date(Number(date.getTime()) + Number(step*60*1000*f))  // 获取:零点的时间 + 每次递增的时间
            var hour = '', sec = '';
            time.getHours() < 10 ? hour = '0' + time.getHours() : hour = time.getHours()  // 获取小时
            time.getMinutes() < 10 ? sec = '0' + time.getMinutes() : sec = time.getMinutes()   // 获取分钟
            timeArr.push(hour + ':' + sec)
        }
        return timeArr
    }
    console.log(timeSlot(5))   // 传入参数:每间隔5分钟
//['00:00', '00:05', '00:10', '00:15', '00:20', '00:25', '00:30', '00:35', '00:40', '00:45', '00:50', '00:55', '01:00', '01:05', '01:10', '01:15', '01:20', '01:25', '01:30', '01:35', '01:40', '01:45', '01:50', '01:55', '02:00', '02:05', '02:10', '02:15', '02:20', '02:25', '02:30', '02:35', '02:40', '02:45', '02:50', '02:55', '03:00', '03:05', '03:10', '03:15', '03:20', '03:25', '03:30', '03:35', '03:40', '03:45', '03:50', '03:55', '04:00', '04:05', '04:10', '04:15', '04:20', '04:25', '04:30', '04:35', '04:40', '04:45', '04:50', '04:55', '05:00', '05:05', '05:10', '05:15', '05:20', '05:25', '05:30', '05:35', '05:40', '05:45', '05:50', '05:55', '06:00', '06:05', '06:10', '06:15', '06:20', '06:25', '06:30', '06:35', '06:40', '06:45', '06:50', '06:55', '07:00', '07:05', '07:10', '07:15', '07:20', '07:25', '07:30', '07:35', '07:40', '07:45', '07:50', '07:55', '08:00', '08:05', '08:10', '08:15', …]