计算起止日期的时间跨度

2019-06-19  本文已影响0人  易冷zzz

背景:在一定的时间范围内进行查询列表,导出文档等操作,通常出于性能等问题考虑,在数据量较大的情况下会添加时间范围的限制,比如只能导出30天内的文档等。


             //计算日期范围相差的天数
        getDays(endDate, startDate){//2020-03-10格式
            let daysRang = parseInt(Math.abs(new Date(endDate).getTime() - new Date(startDate).getTime()) / 1000 / 60 / 60 / 24) //把相差的毫秒数转换为天数
            //开始结束时间相同算一天但差值为0故加1
            return daysRang + 1
        },
计算时间戳的差值并将差值转换成年、月、日、时、分、秒:
          $(function () {
                console.log(calcTimeStamp(1561533000000, 1561533932926))
            })
            function calcTimeStamp(startTime,endTime){
                var usedTime = endTime - startTime;  //两个时间戳相差的毫秒数
                var days=Math.floor(usedTime / (24*3600*1000));
                //计算相差小时数
                var leftMs1=usedTime % (24*3600*1000);    //计算天数后剩余的毫秒数
                var hours=Math.floor(leftMs1 / (3600*1000));
                //计算相差分钟数
                var leftMs2=leftMs1 % (3600*1000);        //计算小时数后剩余的毫秒数
                var minutes=Math.floor(leftMs2 / (60*1000));
                var leftMs3 = leftMs2 % (60*1000);  //计算分钟后剩余的毫秒数
                var seconds = Math.floor(leftMs3 / 1000);
                var leftMs4 = leftMs3 % 1000;  //计算秒后剩余的毫秒数
                //var time = days + "天"+hours+"时"+minutes+"分";
                var time = [days, hours, minutes, seconds, leftMs4];
                return time;
            }
上一篇 下一篇

猜你喜欢

热点阅读