美文网首页
JS时间分割(将长时间分成每一天或N天)

JS时间分割(将长时间分成每一天或N天)

作者: QRFF | 来源:发表于2020-04-02 10:54 被阅读0次

应用场景:一段长时间的参数代入后台查询,用户等待过长,于是分割成每天或者N天,可以快点拿到后台数据进行渲染
比如开始时间是2020/03/02 14:29:46,结束时间是2020/04/01 14:33:46
经过调用formatEveryDay输出则是


QQ截图20200402105120.png
        let ydStart = "2020/03/02 14:29:46";
        let ydEnd = "2020/04/01 14:33:46"
        const startTime = ydStart.split(" ")[0];
        const endTime = ydEnd.split(" ")[0];
        const intervalDay = (getDate(endTime).getTime() - getDate(startTime).getTime()) / (1000 * 60 * 60 * 24)
        if (intervalDay >= 1) {
            console.log(formatEveryDay(startTime,endTime))
            let timeArr = formatEveryDay(startTime, endTime)
            console.log(group(timeArr, 2))
        }
        function formatEveryDay(start, end) {
            let dateList = [];
            let startTimeC = getDate(start);
            let endTimeC = getDate(end);

            while ((endTimeC.getTime() - startTimeC.getTime()) >= 0) {
                let year = startTimeC.getFullYear();
                let month = startTimeC.getMonth() + 1 < 10 ? '0' + (startTimeC.getMonth() + 1) : startTimeC.getMonth() + 1;
                let day = startTimeC.getDate().toString().length == 1 ? "0" + startTimeC.getDate() : startTimeC.getDate();
                dateList.push(year + "/" + month + "/" + day + " " + ydStart.split(" ")[1]);
                startTimeC.setDate(startTimeC.getDate() + 1);
            }
            dateList[dateList.length - 1] = endTime + " " + ydEnd.split(" ")[1]
            return dateList;
        }
        function getDate(datestr) {
            let temp = datestr.split("/");
            let date = new Date(temp[0], temp[1] - 1, temp[2]);
            return date;
        }


        function group(array, subGroupLength) {
            let index = 0;
            let newArray = [];
            while (index < array.length-1) {
                 newArray.push(array.slice(index, index+subGroupLength));
                 index+=1;
            }
            return newArray;
        }

相关文章

  • JS时间分割(将长时间分成每一天或N天)

    应用场景:一段长时间的参数代入后台查询,用户等待过长,于是分割成每天或者N天,可以快点拿到后台数据进行渲染比如开始...

  • 【40个发明原理】1-分割

    40个发明原理-1: 分割(Segmentation),它指的是以虚拟或实物方式将一个系统分成若干部分,以便抽取或...

  • js数组题目

    js面试题 js数组 一、按要求分割数组 将"js,数组,分类"字符串数组以/分割 for循环累加 join()把...

  • 自定义时间类

    js获取时间获取年、月、日、周格式化日期获取日期范围获取历史前N天的时间获取未来N天的时间

  • 动态规划(二)

    给定一个正整数n,可以将其分割成多个数字的和,若要让这些数字的乘机最大,求分割的方法,(至少分成两个数)。返回这个...

  • numpy + plt + cv2 图像切片成 patches

    将图像切分为图像块,并复原 - 知乎 起因:为了将场景分割并行化,考虑将原始图片切分成小的 patches,不同 ...

  • 大数据||MapReduce之wordcount处理过程

    文件分割 将文件拆分成splits,由于测试用的文件较小,所以每个文件为一个split,并将文件按行分割形成

  • Bash 中的 for 循环

    基本格式 或者使用分号 ; 分割语句: 取值列表大致可以分成枚举和迭代两类 枚举 取值列表为空格或回车符分割的字符...

  • 处理歌词数组的方案--

    -componentsSeparatedByString:此方法, 通过”\n”字符进行对字符串分割,并且将歌词数...

  • js将一个数组分成多个数组

    js将一个数组分成多个数组 1,将数组array分成长度为subGroupLength的小数组并返回新数组 fun...

网友评论

      本文标题:JS时间分割(将长时间分成每一天或N天)

      本文链接:https://www.haomeiwen.com/subject/cqgtphtx.html