计算两个时间戳之间的时间差

1、计算时间差

intervalTime(autoTime) {
    //var autoTime='2022-05-05 21:58:59'   //尽量让服务端传时间戳,能够有效避免时区问题
    var date1 = (Date.parse(new Date()))/1000;//计算当前时间戳 
    var date2 = (Date.parse(new Date(autoTime)))/1000;; //自动收货的时间戳 (字符串转时间戳)
    var date3 =  (date2- date1)*1000; //时间差的毫秒数
    //计算出相差天数
    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);
    console.log(days + "天 " + hours + "小时 ")
    console.log(days + "天 " + hours + "小时 " + minutes + " 分钟" + seconds + " 秒");
    return   days + "天 " + hours + "小时 "
}

2、比较时间的大小

moreTime(autoTime){
    //var autoTime='2022-05-05 21:58:59'
    var date1 = (Date.parse(new Date()))/1000;//计算当前时间戳 
    var date2 = (Date.parse(new Date(autoTime)))/1000;; //自动收货的时间戳 (字符串转时间戳)
    //date1 小于date2的话,就返回 `true`,否则返回 `false`
    return date1<date2
}

3、页面使用(react)

//当前时间大于自动收货时间时,不展示"还剩xx天xx小时自动确认收货",否则展示
{this.moreTime(autoTime)?<div>还剩{this.intervalTime(autoTime)}自动确认收货</div>:null}

版权声明:本文为qq_41277458原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。