【js 时间 】 js计算两个时间戳之间的时间差(多少天、时、分、秒)

js计算两个时间戳之间的时间差(多少天、时、分、秒)

util.js 文件中

1.定义方法

//计算两个时间之间的时间差 多少天时分秒
function intervalTime(startTime,endTime) {
    // var timestamp=new Date().getTime(); //计算当前时间戳
    var timestamp = (Date.parse(new Date()))/1000;//计算当前时间戳 (毫秒级)
     var date1 = ""; //开始时间
    if(timestamp<startTime){
        date1=startTime;
    }else{
        date1 = timestamp; //开始时间
    }
    var date2 = endTime; //结束时间
    // var date3 = date2.getTime() - date1.getTime(); //时间差的毫秒数
    var date3 =  (date2- date1)*1000; //时间差的毫秒数
    //计算出相差天数
    var days = Math.floor(date3 / (24 * 3600 * 1000));
	if(days < 0){
		days = days*(-1)
	}

    //计算出小时数
    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 + "小时 ")
    // return   days + "天 " + hours + "小时 " + minutes + " 分钟" + seconds + " 秒"
    return   days + "天 " + hours + "小时 "
}

2.暴露给外部调用

module.exports = {
    intervalTime
}

3.其他页面导入

import {
    intervalTime
} from "@/common/util.js"

4.data中声明

 data() {
            return {
                intervalTime:intervalTime
            };
        },

5.页面中使用,传入两个时间戳,如果是 2023-10-12 这类格式,先换算格式为 2023/10/12 , 再小改下 js文件内容,换算成时间戳,再继续比较

<view >{{intervalTime(item.start_time,item.end_time)}}</view>

号外补充:

1.查询资料后,得知iOS 系统对 JavaScript 中的 new Date() 方法有严格的格式要求。

let now = new Date("2020-08-08 00:00") // now会返回valid Date

2.正确的写法应该是

let now = new Date("2020/08/08 00:00")

3.最后可以这样写

let date = "2020-08-08 00:00"
let now = new Date(date.replace(/-/g,'/'))
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值