完整代码如下:
<html><head>
<title>js 两个日期间隔月数</title>
<script type="text/javascript">
window.onload = function () {
document.getElementById("btn_Diff").onclick = function () {
var d1 = document.getElementById("txt_Date1").value//日期1
var d2 = document.getElementById("txt_Date2").value//日期2
//年*12+月
var m1 = parseInt(d1.split("-")[1].replace(/^0+/, "")) + parseInt(d1.split("-")[0]) * 12
var m2 = parseInt(d2.split("-")[1].replace(/^0+/, "")) + parseInt(d2.split("-")[0]) * 12
alert(m2-m1)
}
}
</script>
</head>
<body>
<input id="txt_Date1" type="text" value="2013-09-25"/>
<input id="txt_Date2" type="text" value="2014-01-15"/>
<input id="btn_Diff" type="button" value="Diff"/>
</body>
</html>
效果如下:
var days = daysBetween('2016-11-01','2016-11-02')/**
* 根据两个日期,判断相差天数
* @param sDate1 开始日期 如:2016-11-01
* @param sDate2 结束日期 如:2016-11-02
* @returns {number} 返回相差天数
*/
function daysBetween(sDate1,sDate2){
//Date.parse() 解析一个日期时间字符串,并返回1970/1/1 午夜距离该日期时间的毫秒数
var time1 = Date.parse(new Date(sDate1))
var time2 = Date.parse(new Date(sDate2))
var nDays = Math.abs(parseInt((time2 - time1)/1000/3600/24))
return nDays
}