js怎么输出当前日期和指定日期的相隔天数?谢谢

JavaScript021

js怎么输出当前日期和指定日期的相隔天数?谢谢,第1张

// 获取当前时间时间戳

var currentTime = Date.now()

// 获取指定时间时间戳

// 注1:这里写的是2012年9月1日0时0分0秒

// 注2:Javascript中月份是实际数字减1

var targetTime = (new Date(2012, 8, 1, 0, 0, 0)).getTime()

// 获取差值,如果指定日期早于现在,则为负数

var offsetTime = targetTime - currentTime

// 求绝对值,获取相差的时间

offsetTime = Math.abs(offsetTime)

// 将时间转位天数

// 注:Javascript中时间戳的单位是毫秒

var offsetDays = Math.floor(offsetTime / (3600 * 24 * 1e3))

可以写成通用的方法:

function getOffsetDays(time1, time2) {

    var offsetTime = Math.abs(time1 - time2)

    return Math.floor(offsetTime / (3600 * 24 * 1e3))

}

// 获取相隔天数

getOffsetDays(Date.now(), (new Date(2012, 8, 1)).getTime())

完整代码如下:

<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>