本文系作者原创,如要转贴,请保留以下信息:
http://blog.csdn.net/hunkdong/archive/2005/08/09/449132.ASPx
最近,我做一个模块.里面需要用到两日期之间相差的天数,而且这东西还必须用javascript来实现,这下可把我难住了,有什么办法呢?大家都知道jsp,ASP,PHP等都提供了这个功能,就JavaScript没有这个功能.
没办法,只有自己动手写,写了半天头搞大了,结果就做不对.有点想放弃了,忽然眼前一亮
Math.abs(Date1 - Date2) 这个函数一出来,竞表示的是秒数.
有救了,在到网上一查,想不到某前辈早就实现了这个方法,现在我把这个方法,列出来大家一起参考一下!
<Html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
</head>
<body>
<button onClick="BTnCount_Click()">计算相差天数</button>
<script language="JavaScript">
function btnCount_Click(){
s1 = "2002-03-02"
s2 = "2002-02-25"
alert(DateDiff(s1,s2))
}
//计算天数差的函数,通用
function DateDiff(sDate1, sDate2){ //sDate1和sDate2是2002-12-18格式
var aDate, oDate1, oDate2, iDays
aDate = sDate1.split("-")
oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]) //转换为12-18-2002格式
aDate = sDate2.split("-")
oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0])
alert(oDate1 - oDate2)
iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 /24) //把相差的毫秒数转换为天数
return iDays
}
</script>
</body>