js中获取两个日期之间相差的天数

     这两天在做前台页面的时候,有这样的一个业务场景,就是页面上有一个查询的时间参数,这个参数有起始时间和结束时间 ,需求中要求这两个时间之间的相隔的天数不能大于90天,这样就需要通过前台传入的时间字符串来判断这个两个时间相差是天数是否符合业务场景的要求,通过对这个这个功能的分析,我选用了js中的Date日期对象中的parse()静态方法来实现这个功能,具体的实现方式如下:  

<function  getDaysByDateString(dateString1,dateString2){  
     //获取起始时间的毫秒数  	 
    //其中dateString1.replace('/-/g','/')是将日期格式为yyyy-mm-dd转换成yyyy/mm/dd  
    //Date.parse()静态方法的返回值为1970年1月1日午时到当前字符串时间的毫秒数,返回值为整数  
	//如果传入的日期只包含年月日不包含时分秒,则默认取的毫秒数为yyyy/mm/dd 00:00:00  
	//取的是0时0分0秒的毫秒数,如果传入的是2015/07/03 12:20:12则取值为该时间点的毫秒数  
    var  startDate=Date.parse(dateString1.replace('/-/g','/'));  
    var  endDate=Date.parse(dateString2.replace('/-/g','/'));  
	//因为不传时分秒的时候 默认取值到dateString2的0时0分0秒时的毫秒数,这样就不包含当前天数的毫秒数  
	/如果计算时要包含日期的当前天,就要加上一天的毫秒数,我的业务需要,将加上了。  
    var diffDate=(endDate-startDate)+1*24*60*60*1000;  
	 //计算出两个日期字符串之间的相差的天数  
      var days=diffDate/(1*24*60*60*1000);  
      //alert(diffDate/(1*24*60*60*1000));  
       return  days;  
 }  
 下面是没有注释的代码:

 function  getDaysByDateString(dateString1,dateString2){
        var  startDate=Date.parse(dateString1.replace('/-/g','/'));  
        var  endDate=Date.parse(dateString2.replace('/-/g','/')); 
	var diffDate=(endDate-startDate)+1*24*60*60*1000;  
	var days=diffDate/(1*24*60*60*1000);  
      //alert(diffDate/(1*24*60*60*1000));  
      return  days;  
 }
 上面这个js函数经过测试是符合自己的业务逻辑,以后如果再遇到这样的业务场景 直接拿过来就可以用了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值