ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

JS时间差计算(毫秒/天数/月份)

2020-05-12 10:54:29  阅读:462  来源: 互联网

标签:endDate format JS var 时间差 毫秒 date RegExp replace


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.时间格式化

/**
         * 日期格式化
         * date:日期对象
         * format:时间格式
      * 引用  : deteFormat(new Date("2016-05-05 12:23:26"),"yyyy-MM-dd HH:mm:ss")
         */
        dateFormat:function (date,format) { //author: meizz 
            var o = {
                "M+": date.getMonth() + 1, //月份 
                "d+": date.getDate(), //日 
                "h+": date.getHours(), //小时 
                "m+": date.getMinutes(), //分 
                "s+": date.getSeconds(), //秒 
                "q+": Math.floor((date.getMonth() + 3) / 3), //季度 
                "S": date.getMilliseconds() //毫秒 
            };
            if (/(y+)/.test(format)) {
                format = format.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
            }
            for (var k in o)
            if (new RegExp("(" + k + ")").test(format)) 
                format = format.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
            return format;
         }

 

标签:endDate,format,JS,var,时间差,毫秒,date,RegExp,replace
来源: https://www.cnblogs.com/yxkNotes/p/12874705.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有