• 轮询获取当前时间之前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
                                    }
    

      

    集思广益,仅供学习,侵权即删!!
  • 相关阅读:
    get、put、post、delete含义与区别
    中奖数据表设计方案
    mysql递归
    java Ajax跨域请求COOKIE无法带上的解决办法
    tomcat 下配置ajax 跨域 tomcat font face 跨域 java跨域
    JAVA入门教程
    解决Navicat 出错:1130-host . is not allowed to connect to this MySql server,MySQL
    Hbuilder开发app时生成ios要的mobileprovision和p12文件步骤.
    js 获取浏览器高度和宽度值(多浏览器)
    Windows netstat 查看端口、进程占用 查看进程路径
  • 原文地址:https://www.cnblogs.com/hudunyu/p/13722411.html
Copyright © 2020-2023  润新知