Js日期格式化以及计算差值

1.时间差计算

var startDate = "2016-06-06";
            var endDate   = "2016-08-08";
            var start=new Date(startDate.replace("-", "/").replace("-", "/")); 
            var end=new Date(endDate.replace("-", "/").replace("-", "/"));
            if (startDate != "" || endDate != "") {
                if (startDate != "" && endDate != "" && endDate.length > 0 && start <= end) {
                    var sjc=end.getTime()-start.getTime();    //时间差的毫秒数  
                    var days=Math.floor(sjc/(24*3600*1000));  //计算出相差天数
                    
                    var leave1=sjc%(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);       //计算相差秒数  
                    alert(" 相差 "+days+"天 "+hours+"小时 "+minutes+" 分钟"+seconds+" 秒");  
                    
                    var year1 =  startDate.substr(0,4);
                    var year2 =  endDate.substr(0,4); 
                    var month1 = startDate.substr(5,2);
                    var month2 = endDate.substr(5,2);
                    var len=(year2-year1)*12+(month2-month1); //计算出相差月份
                    
                }else {
                    alert("请输入正确的时间范围");
                    return false;
                }
            }

2.时间格式化

function formatTime(time, fmt) {
        if (time) {
            var date = new Date(time);
            var o = {
                'y+': date.getFullYear(),
                'M+': date.getMonth() + 1,
                'd+': date.getDate(),
                'h+': date.getHours(),
                'm+': date.getMinutes(),
                's+': date.getSeconds()
            };
            for (var k in o) {
                if (new RegExp('(' + k + ')').test(fmt)) {
                    var str = o[k] + '';
                    fmt = fmt.replace(RegExp.$1, (str.length === 1) ? ('0' + str) : str);
                }
            };
            return fmt;
        } else {
            return '';
        }
    }

  日期时间格式化

posted @ 2020-05-12 10:45  Judicious  阅读(1440)  评论(0编辑  收藏  举报