前端处理以小时为单位的时间间隔(vue+element ui)

引用时间插件 -->moment

项目中可能会有一种定时的请求数据,比如以分钟数为节点,去请求自定定义的时间间隔的数据,可以自己手动去设置的时间间隔的起止时间,在配合定时器去请求接口。

这边做的是将小时分为5分钟为一个节点,以当前时间的分钟数为例,请求自定义节点区间的上一个五分钟的数据,**这边需求注意每一个小时的0-5分钟需要处理成上一个小时的55-59分钟,简单的小demo**
下面是封装的一个function

import moment from "moment" //引入插件

let arr = [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 59] ; //自定义的小时为单位的区间
 
export function checkDate(value) {    //value为传入的当前时间的分钟数
    let obj = []
    for (let index = 0; index < arr.length; index++) {

        if (value >= 0 && value <= 5) {  //处理每一个小时的 0-5分钟
            let lastTime = moment(new Date()).subtract(1, 'hours').get('hours')
            obj.push(moment()
                .set({ hours: lastTime, minute: "55", second: "00" })
                .format("YYYY-MM-DD HH:mm:ss"), moment()
                    .set({ hours: lastTime, minute: "59", second: "59" })
                    .format("YYYY-MM-DD HH:mm:ss"))

            break;
        } else {  //其余的正常处理
            if (value <= arr[index]) {

                obj.push(moment()
                    .set({ minute: arr[index - 2], second: "00" })
                    .format("YYYY-MM-DD HH:mm:ss"), moment()
                        .set({ minute: arr[index - 1], second: "59" })
                        .format("YYYY-MM-DD HH:mm:ss"))

                break;
            }

        }
    }
    return obj   //得到一个['2020-09-11 19:00:00','2020-09-11 19:05:59']  可使用return 的数组去操作自己的剩余需求
}
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页