JavaScript计算两个日期之间相差的天数

写一个JavaScript的函数用于计算两个日期字符串之间相差的天数,首先求出两个日期之间相差的毫秒数,然后除以一天的毫秒数

//获得两个日期之间相差的天数
		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;
		}
一个JavaScript的函数checkDate()用于判断日期的格式是否错误,使用正则表达式判断:

//检查日期
		function checkDate(date){
			//使用正则表达式去判断日期格式是否正确
			var regExp = /^([1][7-9][0-9][0-9]|[2][0][0-9][0-9])(\-)([0][1-9]|[1][0-2])(\-)([0-2][1-9]|[3][0-1])$/g;
			if(regExp.test(date)){
				return true;
			}else{
				return false;
			}
		}

用于处理和显示数据的主函数check(),判断日期是否为空和格式是否正确,有误就弹出提示

//检查日期
		function checkDate(date){
			//使用正则表达式去判断日期格式是否正确
			var regExp = /^([1][7-9][0-9][0-9]|[2][0][0-9][0-9])(\-)([0][1-9]|[1][0-2])(\-)([0-2][1-9]|[3][0-1])$/g;
			if(regExp.test(date)){
				return true;
			}else{
				return false;
			}
		}

用于输入数据和显示数据的HTML表单:

	<table>
  		<tr>
  			<td>请输入开始日期:</td>
  			<td>
  				<input type="text" name="date1" id="date1">
  			</td>
  		</tr>
  		<tr>
  			<td>请输入终止日期:</td>
			<td>
				<input type="text" name="date2" id="date2">
			</td>
  		</tr>
  		<tr>
  			<td colspan="2">
  				格式为:(yyyy-mm-dd)
  			</td>
  		</tr>
  		<tr>
  			<td>相差的天数为:</td>
			<td>
				<input type="text" name="days" id="days">
			</td>
  		</tr>
  		<tr>
			<td colspan="2">
				<input type="button" value="计算" οnclick="check()">
			</td>
  		</tr>
  	</table>





评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值