JavaScript实例第十四天

2021.11.3

实例一、计算时间差

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>计算时间差</title>
</head>

<body>
	<div>
	<label>第一个时间(2019-01-08 10:10:10):</label><!-- lable多用于和另一个表单元素绑定,for可把label绑定到另外一个元素 -->
		<input type="text" name="time1" id="id-time-1">
	<label>第二个时间(2019-01-10 22:22:22):</label>
		<input type="text" name="time2" id="id-time-2"><br>
		<input type="button" value="计算" onClick="calTimeInterval()">
		<span id="id-time-interval"></span>
	</div>
</body>
	<script type="text/javascript">
	function calTimeInterval(){
		var time1=document.getElementById("id-time-1")
		var time2=document.getElementById("id-time-2")
		var t1=parseTime(time1);
		var t2=parseTime(time2);
		var span=ti.getTime()-t2.getTime()//返回时间,格式为
		console.log(span)
		span=Math.abs(span/1000);
		document.getElementById("id-time-interval").innerText="相差:"+span
		
	}
		function parseTime(str){
			var date=str.split("")[0];
			var darr=date.split("-");
			var time=str.split(" ")[1];
			var tarr=time.split(":");
			var y=parseInt(darr[0]);
			var m=parseInt(darr[1]);
			var d=parseInt(darr[2]);
			var h=parseInt(darr[0]);
			var mm=parseInt(darr[1]);
			var s=parseInt(darr[2]);
			return new Date(y,m,d,h,mm,s);
		}
	</script>
</html>

实例二、网页标题体现月进度

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>网页标题体现月进度</title>
</head>

<body>
	<div>
	<span id="id-span-date"></span>
	</div>
</body>
	<script type="text/javascript">
	window.onload=function(){
		var strTitle;
		var date=new Date();
		var d=date.getDate();//返回当前月份的天数
		if(d<10){
			strTitle="上旬"
		}
		if(d>=10&&d<=20){
			strTitle="中旬"
		}
		if(d>=20){
			strTitle="下旬"
		}
		document.title=strTitle;
		var today=date.toLocaleDateString();//返回本地当天的时间,2021/11/3
		document.getElementById("id-span-date").innerText="今天:"+today;
		
		
	}
	
	</script>
</html>

实例三、用表格制作日历

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>用表格制作日历</title>
</head>

<body>
	<div>
	<p>
		点击选择日历:
		<select id="y"></select><select id="m"></select></p>
		<table width="500" height="500" border="1" align="center" id="id-tb-date"></table><!-- 定义一个空盒子用来显示日历 -->
		<span id="id-span-info"></span>
	</div>
</body>
	<script type="text/javascript">
	window.onload=function(){
		var y=document.getElementById("y");
		var m=document.getElementById("m");
		var strY="";
		for(let i=2019;i<=2020;i++){
			strY+='<option value="'+i+'">'+i+'</option>'
			
		}
		y.innerHTML=strY;
		strM="";
		for(let j=1;j<=12;j++){
			strM+='<option value="'+j+'">'+j+'</option>'
		}
		m.innerHTML=strM;
	}
		m.onchange=function(){//当月份发生改变时
			var year=document.getElementById("y").value;
			year=parseInt(year);
			var month=parseInt(this.value);
			var days=31;
			if(isRunYear(year)&&month==2){
				days=29
				
			}
			else if(!isRunYear(year)&&month==2){
				days=28;
			}
			else if(month==4||month==6||month==9||month==11){
				days=30
				
			}
			var arrweek=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]
			var strW='<tr>';//行
			for(var w=0;w<7;w++){
				strW+='<td>星期:'+arrweek[w]+'</td>'
			}
			var strW='</tr>';
			var date=new Date(year,month-1,1);
			var week=date.getDay();//返回一周中的某一天
			if(week==7)
				week=0;
			var j=1;
			while(true){
				strW+='<tr>'
				for(var i=0;i<7;i++){
					if(j==1&&i==week){
						strW+='<td οnclick="showDay(this,'+j+','+i+')">1</td>'
						j++
					}
					else if(j>1&&j<=days){
						strW+='<td οnclick="showDay(this,'+j+','+i+')">+j+</td>'

						j++
					}
					else{
						strW+='<td>&nbsp;</td>'
					}
					strW+='</tr>'
					if(j>days)
						break;
				}
				document.getElementById("id-tb-date").innerHTML=strW
				
				
			}
				
		}
		function isRunYear(y){
			return y%4==0
		}
		function showDay(el,d,w){
			console.log(el);
			setTbBgColor(el);
			var y=document.getElementById("y").value;
			var m=document.getElementById("m").value;
			var arrW=['日','一','二','三','四','五','六']
			var strW="星期";
			for(var i=0;i<7;i++){
				if(i==w){
					strW+=arrW[i]
					break;
				}
			}
			var strInfo="您选择的日期是:"+y+"年"+m+"月"+d+"日"+strW+".";
			document.getElementById("id-span-info").innerText=strInfo;
		}
		function setTbBgColor(el){
			var tds=document.getElementsByTagName("td");
			for(var i=0;i<tds.length;i++){
				tds[i].style.backgroundColor="gray"
			}
			el.style.background="gray"
			
		}
	
	</script>
</html>

日期显示涉及的算法和正则表达式好麻烦,更更改改花了太多时间,明天开始写网页特效

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值