JS计算两个日期之间的天数

如下

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

end

posted @ 2018-08-23 10:19  xh_Blog  阅读(7806)  评论(0编辑  收藏  举报