<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>JS計算兩個日期之間的天數</title>
</head>
<body>
<script type="text/javascript">
function btnCount_Click(){
s1 = "2006-12-18"
s2 = "2007-1-5"
alert("第一個日期;"+s1+"/n第二個日期:"+s2+"/n相差"+getDays(s1,s2)+"天")
}
//計算天數差的函數,通用
function DateDiff(sDate1, sDate2){ //sDate1和sDate2是2006-12-18格式
var aDate, oDate1, oDate2, iDays
aDate = sDate1.split("-")
oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]) //轉換為12-18-2006格式
aDate = sDate2.split("-")
oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0])
iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 /24) //把相差的毫秒數轉換為天數
return iDays
}
function getDays(date1 , date2){
var date1Str = date1.split("-");//將日期字符串分隔為數組,數組元素分別為年.月.日
//根據年 . 月 . 日的值創建Date對象
var date1Obj = new Date(date1Str[0],(date1Str[1]-1),date1Str[2]);
var date2Str = date2.split("-");
var date2Obj = new Date(date2Str[0],(date2Str[1]-1),date2Str[2]);
var t1 = date1Obj.getTime();
var t2 = date2Obj.getTime();
var dateTime = 1000*60*60*24; //每一天的毫秒數
var minusDays = Math.floor(((t2-t1)/dateTime));//計算出兩個日期的天數差
var days = Math.abs(minusDays);//取絕對值
return days;
}
</script>
<input name="" type="button" onclick="btnCount_Click()" value="計算天數" />
</body>
</html>