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 ''; } }
日期时间格式化