• JS计算两个日期时间差,天 小时 分 秒格式


    function diffTime(startDate,endDate) {  
        startDate= new Date(startDate);
        endDate = new Date(endDate);
        var diff=endDate.getTime() - startDate.getTime();//时间差的毫秒数  
      
        //计算出相差天数  
        var days=Math.floor(diff/(24*3600*1000));  
           
        //计算出小时数  
        var leave1=diff%(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);  
          
        var returnStr = seconds + "秒";  
        if(minutes>0) {  
            returnStr = minutes + "分" + returnStr;  
        }  
        if(hours>0) {  
            returnStr = hours + "小时" + returnStr;  
        }  
        if(days>0) {  
            returnStr = days + "天" + returnStr;  
        }  
        return returnStr;  
    }      
    

      用法:

    var diffTimeShow = diffTime('2017-03-02 09:10','2017-03-17 04:10');

    1. var st1 = "2008-8-1 8:50:01";  
    2. var st2 = "2008-8-3 8:50:01";  
    3. var time1 = new Date(st1);                                //创建时间1  
    4. var tiem2 = new Date(st2);                                //创建时间2  
    5. /* 
    6. *如果求的时间差为天数则处以864000000,如果是小时数则在这个数字上 
    7. *除以24,分钟数则再除以60,依此类推 
    8. */  
    9. var days = (time1.getTime() - time2.getTime()) / 86400000;  
    10. alert(days); 

    或者 用另一个方法:

    /* 
    * 获得时间差,时间格式为 年-月-日 小时:分钟:秒 或者 年/月/日 小时:分钟:秒 
    * 其中,年月日为全格式,例如 : 2010-10-12 01:00:00 
    * 返回精度为:秒,分,小时,天
    */
    
    function GetDateDiff(startTime, endTime, diffType) {
        //将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式 
        startTime = startTime.replace(/-/g, "/");
        endTime = endTime.replace(/-/g, "/");
    
        //将计算间隔类性字符转换为小写
        diffType = diffType.toLowerCase();
        var sTime = new Date(startTime);      //开始时间
        var eTime = new Date(endTime);  //结束时间
        //作为除数的数字
        var divNum = 1;
        switch (diffType) {
            case "second":
                divNum = 1000;
                break;
            case "minute":
                divNum = 1000 * 60;
                break;
            case "hour":
                divNum = 1000 * 3600;
                break;
            case "day":
                divNum = 1000 * 3600 * 24;
                break;
            default:
                break;
        }
        return parseInt((eTime.getTime() - sTime.getTime()) / parseInt(divNum));
    }
    
    var testDate = new Date();
    var testStr = testDate.format("yyyy-MM-dd hh:mm:ss");
    
    var result = GetDateDiff("2010-02-26 16:00:00", testStr, "day");
    document.write("两者时间差为:" + result + "天了。");
    

      原文链接:http://caibaojian.com/javascript-getdatadiff.html

    使用的方法很简单,比如计算天数可以这样:·

    GetDateDiff("2010-02-26 16:00:00", "2011-07-02 21:48:40", "day");
     
  • 相关阅读:
    数据结构-向量
    可信执行环境(TEE)介绍 与应用
    ACM
    带哨兵节点和不带哨兵节点的单链表操作的对比
    java:Conllection(List,set,get,map,subList)使用
    java:在Conllection接口中实际上也规定了两个可以将集合变成对象数组的操作
    java:Conllection中的List,ArrayList添加元素,删除元素,输出元素
    java:类集框架conllection接口list,set
    java:投个票程序
    git:Git fetch和git pull的区别, 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists).
  • 原文地址:https://www.cnblogs.com/laneyfu/p/6651274.html
Copyright © 2020-2023  润新知