javaScript 计算两个日期的天数相差(示例代码)

来源:http://www.jb51.net/article/44927.htm

一:计算两个日期相差的天数

比如:  
 str1  =  "2002-01-20"  
 str2  =  "2002-10-11"  
怎样用javaScript计算出str1与str2之间相差的天数?  

复制代码代码如下:

<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-1-10"  
       s2  =  "2002-10-1"  
       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])  
       iDays  =  parseInt(Math.abs(oDate1  -  oDate2)  /  1000  /  60  /  60  /24)    //把相差的毫秒数转换为天数  
       return  iDays  
}

二:计算一定天数后的日期

在JavaScript中,计算当天日期后的几天是什么日期。远远没有在.Net中来的方便,一个函数就可以解决问题。就这个问题,把我困扰了一段时间,最终通过一个网友的介绍才把问题给解决掉。贴出来一起分享一下。

复制代码代码如下:

<script  language="javascript"  type="text/javascript">  
var  startDate  =  new  Date  ();           var  intValue  =  0;  
var  endDate  =  null;  

intValue  =  startDate.getTime();            intValue  +=  100  *  (24  *  3600  *  1000);  
endDate  =  new  Date  (intValue);  
alert  (endDate.getFullYear()+"-"+ (endDate.getMonth()+1)+"-"+ endDate.getDate());  
</script>  

上面的100代表100天后的日期,你可以修改。JS中Date.getTime(),只能1970.01.01之后的日期;还有月份是0 - 11,有点不一样,切忌哦。当然你也可以计算特定日期后的日期。
复制代码代码如下:

<script  language="javascript"  type="text/javascript">  
var  startDate  =  new  Date  (2007,  (8-1),  1,  10,  10,  10);
var  intValue  =  0;  
var  endDate  =  null;  

intValue  =  startDate.getTime();            intValue  +=  100  *  (24  *  3600  *  1000);
endDate  =  new  Date  (intValue);  
alert  (endDate.getFullYear()+"-"+ (endDate.getMonth()+1)+"-"+ endDate.getDate());  
</script>  

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值