美文网首页
js计算两个时间的差

js计算两个时间的差

作者: 小汤猿 | 来源:发表于2019-02-21 18:19 被阅读0次

完整计算时间差(天、小时、分钟、秒)的代码:

先获取之间的毫秒差,通过毫秒差换算出你所需要的时间单位,然后时间单位之间的换算根据的是他们的倍数关系。


function timeFn(d1) {//di作为一个变量传进来

    //如果时间格式是正确的,那下面这一步转化时间格式就可以不用了

    var dateBegin = new Date(d1.replace(/-/g, "/"));//将-转化为/,使用new Date

    var dateEnd = new Date();//获取当前时间

    var dateDiff = dateEnd.getTime() - dateBegin.getTime();//时间差的毫秒数

    var dayDiff = Math.floor(dateDiff / (24 * 3600 * 1000));//计算出相差天数

    var leave1=dateDiff%(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(" 相差 "+dayDiff+"天 "+hours+"小时 "+minutes+" 分钟"+seconds+" 秒")

    console.log(dateDiff+"时间差的毫秒数",dayDiff+"计算出相差天数",leave1+"计算天数后剩余的毫秒数"

        ,hours+"计算出小时数",minutes+"计算相差分钟数",seconds+"计算相差秒数");

}

var t3="2017-08-18 04:56:38";

timeFn(t3);

image

获取当前月份的天数

function getDays() {

    //构造当前日期对象

    var date = new Date();

    var year = date.getFullYear();//获取年份

    var mouth = date.getMonth() + 1;//获取当前月份

    var days;//定义当月的天数;

    if (mouth == 2) {//当月份为二月时,根据闰年还是非闰年判断天数

        days = year % 4 == 0 ? 29 : 28;

    }

    else if (mouth == 1 || mouth == 3 || mouth == 5 || mouth == 7 || mouth == 8 || mouth == 10 || mouth == 12) {

        //月份为:1,3,5,7,8,10,12 时,为大月.则天数为31;

        days = 31;

    }

    else {

        //其他月份,天数为:30.

        days = 30;

    }

    return days;

}

相关文章

网友评论

      本文标题:js计算两个时间的差

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