zoukankan      html  css  js  c++  java
  • 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");
     
  • 相关阅读:
    【面积并】 Atlantis
    【动态前k大 贪心】 Gone Fishing
    【复杂枚举】 library
    【双端队列bfs 网格图建图】拯救大兵瑞恩
    【奇偶传递关系 边带权】 奇偶游戏
    【权值并查集】 supermarket
    CF w4d3 A. Pythagorean Theorem II
    CF w4d2 C. Purification
    CF w4d2 B. Road Construction
    CF w4d2 A. Cakeminator
  • 原文地址:https://www.cnblogs.com/laneyfu/p/6651274.html
Copyright © 2011-2022 走看看