DB-Day2 输入生日的月和日,计算出你下一个生日还有多少天

今天我做完这个题目花了3个小时,但是感觉很愉快!


<DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>习题5</title>
		<script>
			function show(f){
				var myArray=[];
				var re=/\d+/g;
				birthDay=f.birth.value;
				myArray=birthDay.match(re);
				var day=myArray[1];
				day=parseInt(day);
				var month=myArray[0];
				var year=null;
				month=parseInt(month);
				month-=1;//获取输入月份成功。
				var now=new Date();
				var currentMonth=now.getMonth();//获取当前月份成功。
				var currentDate=now.getDate();//获取当前日子成功。
				if(month>currentMonth){
					year=now.getFullYear();
				}
				else if(month<currentMonth){
					year=now.getFullYear()+1;
				}
				else if(month==currentMonth){
					if(day>=currentDate){
						year=now.getFullYear();
					}
					else{
						year=now.getFullYear()+1;
					}
				}
				//alert(year);这是最麻烦的部分。根据生日月份的大小关系得到年份。
				var nextBirth=new Date(year,month,day);
				//alert(nextBirth);
				var timeDiff=nextBirth.getTime()-now.getTime();
				leftDays=timeDiff/1000/60/60/24;
				f.result.value=Math.round(leftDays);
			}	
		</script>
	</head>
	<body>
		<h1>算算你的生日还有多少天</h1>
		<form name="form1">
			<p>
				请输入你的出生月份和日期<input type="text" name="birth" size="50" onBlur="show(this.form)" /><span>示例:3月29日</span><br/>
				到你的生日还有的天数:<input name="result" type="text" name="cal" size="50" />
			</p>
		</form>
	</body>
</html>
本程序的大部分代码在解决年份的动态变化上。即如果你今年的生日已经过了,那么自然你的下一个生日就挪到明年了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值