AL菜菜的专栏

社恐患者

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="计算" onclick="check()">
			</td>
  		</tr>
  	</table>





阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_22605739/article/details/46439811
文章标签: javascript
个人分类: JavaScript
想对作者说点什么? 我来说一句

JS计算两个日期之间天数

zjrbiancheng zjrbiancheng

2011-05-09 20:57:00

阅读数:63691

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭