JS 对比开始时间和结束时间得到剩余时间

325 阅读1分钟

项目中我们会遇到一个问题就是订单有没有过期,或者其他项目需求用到开始时间与结束时间对比,然后得到剩余时间或者是否过期

下面代码

timestampToTime() {
    // console.log(this.endtime)
    //开始时间
    var StartDate= new Date().getTime();
    // 结束时间
    var MaturityDate = new Date('结束时间').getTime();

    //时间差的毫秒数
    var date3 = MaturityDate - StartDate;
    //计算出相差天数 
    var days = Math.floor(date3 / (24 * 3600 * 1000))
    //计算出小时数 
    var leave1 = date3 % (24 * 3600 * 1000) //计算天数后剩余的毫秒数 
    var hours = Math.floor(leave1 / (3600 * 1000))
    //计算相差分钟数 
    var leave2 = leave1 % (3600 * 1000) //计算小时数后剩余的毫秒数 
    var minutes = Math.floor(leave2 / (60 * 1000))
    //计算相差秒数 
    var leave3 = leave2 % (60 * 1000) //计算分钟数后剩余的毫秒数 
    var seconds = Math.round(leave3 / 1000)
    // 这里的意思是如果小时和分钟都大于0则证明没过期,否则反之(本人项目需求)
    if(hours>0 & minutes>0)
    {
        return `还剩 ${ hours }${ minutes } 分钟自动关闭` 
    }

}

本文章仅以自己防止忘记而记录,不管是我还是其他人,当你看到这篇文章的时候说明你还在从事前端工作,或者在学习前端,所以不管以后遇到什么问题,和挫折,都不要忘记你敲代码的初衷