js vue每天0点更新数据/每个整点更新数据

相信有的小伙伴业务中会用到每天0点刷新数据 / 整点刷新数据。
一 丶0点刷新
逻辑:
算出今天24:00的时间戳 减去当前的时间戳,然后添加一个定时器setTimeout,执行时间为我们取得的时间戳,然后执行setInterval 定时器,执行时间为1000 * 60 * 60 * 24(一天的时间戳)
代码:

moment.js 为时间处理插件 地址:moment.js

    //引入插件
    import moment from 'moment'
    
    var nowTemp = new Date().getTime() //获取当前时间戳
    var tomorrowTemp = new Date(moment().add(1, 'days').format().substr(0,10)+' 00:00:00').getTime() //获取今天24:00的时间戳
    var residueTemp = tomorrowTemp - nowTemp //距离当天24:00的时间戳
    console.log(residueTemp)
    //执行定时任务
    setTimeout(()=>{
       this.getfootpathList('0点刷新')
       this.getequipmentList('0点刷新')
       //次天0点 执行每天24;00 刷新
       setInterval(() => {
         this.getfootpathList('0点刷新')
         this.getequipmentList('0点刷新')
       }, 1000*60*60*24);
    },residueTemp)

二丶 整点刷新
逻辑
先算出当前日期(小时)下个小时整点的日期,取下个整点日期的时间戳减去当前日期的时间戳,添加一个setTimeout时间为取到的时间戳,在添加一个setInterval,时间为1000* 60*60。
代码:

//引入插件
    import moment from 'moment'
    
    var nowTemp = new Date().getTime() //获取当前时间戳
    var nexthoursTemp = new Date(moment().add(1, 'hours').format('YYYY-MM-DD H:mm:ss').substr(0,14)+':00:00').getTime() //获取下个小时整点的时间戳
    var residueTemp = nexthoursTemp- nowTemp //当前距离下个小时整点的时间戳
    console.log(residueTemp)
    //执行定时任务
    setTimeout(()=>{
       刷新方法
       //次时0点 执行下个小时整点刷新
       setInterval(() => {
         刷新方法
       }, 1000*60*60);
    },residueTemp)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值