• 轮询获取当前时间之前2天至当天的时间


    场景:

       在项目中,需要做一个定时任务,每隔两天或者几天的频率对表格数据进行遍历访问,访问之后发现不同数据时,发出警告!

    思路:

       后端接口入参为当前时间和两天之前的时间。时间格式2020-09-24 00:00:00

       首先获取系统当前时间然后根据时间戳转化为毫秒数减去相隔天数的毫秒数即可得到相隔之后的时间戳转化为时间格式。以之后的天数作为开始时间,当前时间作为结束时间传入参数查询。

      首先根据需要定义两个时间转化的方法:

        根据当前时间获取格式为2020-09-22 00:00:00的时间数。
    
        let time = new Date();
        time = this.getTime(time);
    
    
       getTime(value) {
                            let date = value;
                            let y = date.getFullYear();
                            let MM = date.getMonth() + 1;
                            MM = MM < 10 ? ('0' + MM) : MM;
                            let d = date.getDate();
                            d = d < 10 ? ('0' + d) : d;
                            let h = date.getHours();
                            h = h < 10 ? ('0' + h) : h;
                            let m = date.getMinutes();
                            m = m < 10 ? ('0' + m) : m;
                            let s = date.getSeconds();
                            s = s < 10 ? ('0' + s) : s;
                            return y + '-' + MM + '-' + d + ' ' + h + ':' + m + ':' + s;
                           },
    

      

    根据2020-09-24 00:00:00时间格式转化为毫秒数
    
         changeTime(value) {
                            var thisTime = value;
                            thisTime = thisTime.replace(/-/g, '/');
                            var time = new Date(thisTime);
                            time = time.getTime();
                            return time;
                        },
    

      再根据时间毫秒数计算出之前的时间节点。

                      //  定义间隔时间配置天数
                                    let times = res.result.data[0].times;
                                    //当前时间
                                    let nowData = new Date();
                                    let y = nowData.getFullYear();
                                    let MM = nowData.getMonth() + 1;
                                    MM = MM < 10 ? ('0' + MM) : MM;
                                    let d = nowData.getDate();
                                    d = d < 10 ? ('0' + d) : d;
                                    //结束时间
                                    let afterTime = y + '-' + MM + '-' + d + ' ' + "24:00:00"; //结束时间
                                    //天数时间戳
                                    let timeStamp = times * 24 * 60 * 60 * 1000
                                    //获取开时间戳
                                    let timesd = this.changeTime(afterTime) - timeStamp;
                                    //红开始时间
                                    let beforeTime = new Date(timesd)
                                    //开始时间转换
                                    beforeTime = this.getTime(beforeTime);//开始时间
                                    let body={
                                        startTime:beforeTime,
                                        endTIme:afterTime
                                    }
    

      

    集思广益,仅供学习,侵权即删!!
  • 相关阅读:
    yii2 动态配置日志(log)
    Yii2 增删改查(CRUD)
    php curl数据传输神器
    Yii Cache 缓存的使用
    svn提交后 添加注释
    php file()函数
    maven + bat 实现快速编译打包模块代码
    获取SpringMVC所有的rest接口及其对应函数信息
    IntelliJ IDEA #region 代码折叠
    maven+Spring+SpringMVC+Hibernate快速搭建
  • 原文地址:https://www.cnblogs.com/hudunyu/p/13722411.html
Copyright © 2020-2023  润新知