js计算两个日期相差天数

	/**
	 * 两个日期相隔天数,时间格式:yyyy-MM-dd
	 * 第一个参数不传, 表示当前日期
	 */
	function dateDiff(sDate1, sDate2){
		if(sDate1 == sDate2){
			return 0;
		}
		if(!sDate1){
			var date = new Date();
			var year = date.getFullYear();
			var month = date.getMonth()+1;
			var day = date.getDate();
			sDate1 = year+"-"+month+"-"+day;
		}
		 var  aDate,  oDate1,  oDate2,  iDays ; 
	       aDate  =  sDate1.split("-") ; 
	       oDate1  =  new Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0]);//转换为Mm-dd-yyyy格式,这种date的构造方式在苹果手机会报错,见解释
	       aDate  =  sDate2.split("-");  
	       oDate2  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0]);  
	       iDays  =  parseInt(Math.abs(oDate1  -  oDate2)/1000/60/60/24);    //把相差的毫秒数转换为天数  
	       return  iDays;  
	}


解释:

以上方式在pc和Android上测试都是正常的, 但是在iPhone上测试时,日期的构造函数不起效。 所有就换用date对象的另一种构造函数

 oDate1 = new Date('年', '月'-1, '日'); //月份是从0开始的, 在计算时需要注意月份的加减操作。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值