通过复选框单击按时区显示时间

html+css实现按时区显示时间

注:部分国家正在执行夏令时

夏令时,表示为了节约能源,人为规定时间的意思。也叫夏时制,夏时令(Daylight Saving Time:DST),又称“日光节约时制”和“夏令时间”,在这一制度实行期间所采用的统一时间称为“夏令时间”。一般在天亮早的夏季人为将时间调快一小时,可以使人早起早睡,减少照明量,以充分利用光照资源,从而节约照明用电。各个采纳夏时制的国家具体规定不同。目前全世界有近110个国家每年要实行夏令时。
1986年4月,中国中央有关部门发出“在全国范围内实行夏时制的通知”,具体作法是:每年从四月中旬第一个星期日的凌晨2时整(北京时间),将时钟拨快一小时,即将表针由2时拨至3时,夏令时开始;到九月中旬第一个星期日的凌晨2时整(北京夏令时),再将时钟拨回一小时,即将表针由2时拨至1时,夏令时结束。从1986年到1991年的六个年度,除1986年因是实行夏时制的第一年,从5月4日开始到9月14日结束外,其它年份均按规定的时段施行。在夏令时开始和结束前几天,新闻媒体均刊登有关部门的通告。1992年起,夏令时暂停实行。
作者:彭刚
时间:2019年9月25日08:45:09

废话不多说先上图:

在这里插入图片描述

源代码:copy直接使用


<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>复选框求指定城市时间</title>
 <style>
	#show{
		font-size:36px;
		padding-top:200px;
		width:80%;
		margin:0 auto;
		text-align:center;
	}
 	#button{ /* 按钮美化 */
	width: 200px; /* 宽度 */
	height: 40px; /* 高度 */
	border-width: 0px; /* 边框宽度 */
	border-radius: 3px; /* 边框半径 */
	background: #1E90FF; /* 背景颜色 */
	cursor: pointer; /* 鼠标移入按钮范围时出现手势 */
	outline: none; /* 不显示轮廓线 */
	font-family: Microsoft YaHei; /* 设置字体 */
	color: white; /* 字体颜色 */
	font-size: 17px; /* 字体大小 */
	float:right;
	margin-top:7px;
	}
	#button:hover { /* 鼠标移入按钮范围时改变颜色 */
	background: #5599FF;
	float:right;
}
	#all{
		width:70%;
		margin:0 auto;
		margin-top:50px;
	}
	#form{
		margin:0 auto;
		width:100%;
		font-size:36px;
		margin-bottom:20px;
		height:50px;
	
		margin-bottom:50px;
		margin-left:45px;
	}
	#beijing{
		margin:0 auto;
		width:70%;
		font-size:36px;
		margin-bottom:20px;
		height:50px;
		text-align:center;
	}
	#niuyue{
		margin:0 auto;
		width:70%;
		font-size:36px;
		margin-bottom:20px;
		height:50px;
		text-align:center;
	}
	#bali{
		margin:0 auto;
		width:70%;
		font-size:36px;
		margin-bottom:20px;
		height:50px;
		text-align:center;
	}
	#dongjing{
		margin:0 auto;
		width:70%;
		font-size:36px;
		margin-bottom:20px;
		height:50px;
		text-align:center;
	}
	#aiji{
		margin:0 auto;
		width:70%;
		font-size:36px;
		margin-bottom:20px;
		height:50px;
		text-align:center;
	}
	#checkbox{
		margin:0;
		width:25px;
		height:25px;
	}

 </style>
</head>

<body>
	<h1 style="text-align:center;font-size:48px;">根据时区显示时间</h1>
	<div id="all">
    	<!--表单-->
    	<div id="form">
        	<form>        	
                <label >	<input id="checkbox" type="checkbox" name="test" value="8" checked style="margin-left:130px;"/>北京</span> </label>
                <label >	<input id="checkbox" type="checkbox" name="test" value="9" style="margin-left:47px;"/>东京</span></label>
                <label >	<input id="checkbox" type="checkbox" name="test" value="-5" style="margin-left:47px;"/>纽约</span></label>
                <label >	<input id="checkbox" type="checkbox" name="test" value="2" style="margin-left:47px;"/>埃及</span></label>
                <label >	<input id="checkbox" type="checkbox" name="test" value="1" style="margin-left:47px;zoom="200%";"/>巴黎</span></label>
                <label >	<input id="button" type='button' value='提交' οnclick="fun()"/>			</label>
        	</form>        	
        </div>
        
        <!--北京-->
        <div id="beijing">

        </div>
        
        <!--东京-->
        <div id="dongjing">

        </div>
        
        <!--纽约-->
        <div id="niuyue">

        </div>
        
        <!--埃及-->
        <div id="aiji">

        </div>
        
        <!--巴黎-->
        <div id="bali">

        </div>
        
    	
	</div>
    
    <script>
		offset = [];
		var weeks = ['&nbsp;星期天&nbsp;','&nbsp;星期一&nbsp;','&nbsp;星期二&nbsp;','&nbsp;星期三&nbsp;','&nbsp;星期四&nbsp;','&nbsp;星期五&nbsp;','&nbsp;星期六&nbsp;'];
		quxiao = [];
		var value=0;
		// alert("定义及输出offset");
		// alert(offset)
		fun();
		function fun(){
			// alert("函数fun");
			offset = [];
			quxiao = [];
			obj = document.getElementsByName("test");
			for(k in obj){
				//获取选中的城市的时区5
				if(obj[k].checked){
					offset.push(obj[k].value);
				}else{
					quxiao.push(obj[k].value);
				}
				
													
			}
			//根据选中的复选框调用函数
			for(j=0;j<=offset.length;j++) {;
				value = offset[j]*1;
				//alert("遍历内的value");
				//alert(value);
				//alert("开始value")
				//alert(value);
				if(value == 8){
					clearTimeout(beijing);
					beijingshowCityTime();
				}else if (value == 9){
					clearTimeout(dongjing);
					dongjingshowCityTime();
				}else if(value == -5){
					clearTimeout(niuyue);
					niuyueshowCityTime();
				}else if(value == 2){
					clearTimeout(aiji);
					aijishowCityTime();
				}else if(value == 1){
					clearTimeout(bali);
					balishowCityTime();
				}
			}
			// 取消复选框时取消该时区的显示
			for(j=0;j<=quxiao.length;j++){
				a = quxiao[j]
				if (a == 8){
					document.getElementById("beijing").innerHTML='';
					clearTimeout(beijing);
				}else if (a == 1){
					document.getElementById("bali").innerHTML='';
					clearTimeout(bali);
				}else if (a == 2){
					document.getElementById("aiji").innerHTML='';
					clearTimeout(aiji);
				}else if (a == -5){
					document.getElementById("niuyue").innerHTML='';
					clearTimeout(niuyue);
				}else if (a == 9){
					document.getElementById("dongjing").innerHTML='';
					clearTimeout(dongjing);
				}else{
					true;	
				}
			}
			
		}
		

		// 1 
		var beijing;
		function beijingshowCityTime(){
				clearTimeout(beijing);
				var d=new Date();
				var localTime=d.getTime();
				//2、得到本地时间与国际标准时间偏移量(单位化成毫秒)
				var localOffset=d.getTimezoneOffset()*60000;//1分钟为60000毫秒 
				//3、得到当前国际标准时间
				var utc=localTime+localOffset;
				//4、得到目标城市的时间
				var cityTime=utc+8*3600000;//3600000就是1小时
				var dt=new Date(cityTime);
				var year=dt.getFullYear();
				var month=dt.getMonth()+1;
				var day=dt.getDate();
				var hours=dt.getHours();
				var minutes=dt.getMinutes();
				var seconds=dt.getSeconds();
				var week=dt.getDay();//得到星期,只是一个数字
				if (value != 8262){
					document.getElementById("beijing").innerHTML="北京时间:&nbsp;&nbsp;"+year+"年"+preZero(month)+"月"+preZero(day)+"日"+weeks[week]+preZero(hours)+":"+preZero(minutes)+":"+preZero(seconds);
					beijing=window.setTimeout("beijingshowCityTime()",1000);
				}
		}
		// 2 
		function dongjingshowCityTime(){
				clearTimeout(dongjing);
				var d=new Date();
				var localTime=d.getTime();
				//2、得到本地时间与国际标准时间偏移量(单位化成毫秒)
				var localOffset=d.getTimezoneOffset()*60000;//1分钟为60000毫秒 
				//3、得到当前国际标准时间
				var utc=localTime+localOffset;
				//4、得到目标城市的时间
				var cityTime=utc+9*3600000;//3600000就是1小时
				var dt=new Date(cityTime);
				var year=dt.getFullYear();
				var month=dt.getMonth()+1;
				var day=dt.getDate();
				var hours=dt.getHours();
				var minutes=dt.getMinutes();
				var seconds=dt.getSeconds();
				var week=dt.getDay();//得到星期,只是一个数字
				if (value != 8262){
					document.getElementById("dongjing").innerHTML="东京时间:&nbsp;&nbsp;"+year+"年"+preZero(month)+"月"+preZero(day)+"日"+weeks[week]+preZero(hours)+":"+preZero(minutes)+":"+preZero(seconds);
					dongjing = window.setTimeout("dongjingshowCityTime()",1000);
				}
		}
		// 3
		function niuyueshowCityTime(){
				clearTimeout(niuyue);
				var d=new Date();
				var localTime=d.getTime();
				//2、得到本地时间与国际标准时间偏移量(单位化成毫秒)
				var localOffset=d.getTimezoneOffset()*60000;//1分钟为60000毫秒 
				//3、得到当前国际标准时间
				var utc=localTime+localOffset;
				//4、得到目标城市的时间
				var cityTime=utc+(3600000*-5);//3600000就是1小时
				var dt=new Date(cityTime);
				var year=dt.getFullYear();
				var month=dt.getMonth()+1;
				var day=dt.getDate();
				var hours=dt.getHours();
				var minutes=dt.getMinutes();
				var seconds=dt.getSeconds();
				var week=dt.getDay();//得到星期,只是一个数字
				if (value != 8262){
					document.getElementById("niuyue").innerHTML="纽约时间:&nbsp;&nbsp;"+year+"年"+preZero(month)+"月"+preZero(day)+"日"+weeks[week]+preZero(hours)+":"+preZero(minutes)+":"+preZero(seconds);
					niuyue = window.setTimeout("niuyueshowCityTime()",1000);
				}
		}
		// 4
		function aijishowCityTime(){
				clearTimeout(aiji);
				var d=new Date();
				var localTime=d.getTime();
				//2、得到本地时间与国际标准时间偏移量(单位化成毫秒)
				var localOffset=d.getTimezoneOffset()*60000;//1分钟为60000毫秒 
				//3、得到当前国际标准时间
				var utc=localTime+localOffset;
				//4、得到目标城市的时间
				var cityTime=utc+(3600000*2);//3600000就是1小时
				var dt=new Date(cityTime);
				var year=dt.getFullYear();
				var month=dt.getMonth()+1;
				var day=dt.getDate();
				var hours=dt.getHours();
				var minutes=dt.getMinutes();
				var seconds=dt.getSeconds();
				var week=dt.getDay();//得到星期,只是一个数字
				if (value != 8262){
					document.getElementById("aiji").innerHTML="埃及时间:&nbsp;&nbsp;"+year+"年"+preZero(month)+"月"+preZero(day)+"日"+weeks[week]+preZero(hours)+":"+preZero(minutes)+":"+preZero(seconds);
					aiji = window.setTimeout("aijishowCityTime()",1000);
				}
		}
		// 5
		function balishowCityTime(){
				clearTimeout(bali);
				var d=new Date();
				var localTime=d.getTime();
				//2、得到本地时间与国际标准时间偏移量(单位化成毫秒)
				var localOffset=d.getTimezoneOffset()*60000;//1分钟为60000毫秒 
				//3、得到当前国际标准时间
				var utc=localTime+localOffset;
				//4、得到目标城市的时间
				var cityTime=utc+(3600000*1);//3600000就是1小时
				var dt=new Date(cityTime);
				var year=dt.getFullYear();
				var month=dt.getMonth()+1;
				var day=dt.getDate();
				var hours=dt.getHours();
				var minutes=dt.getMinutes();
				var seconds=dt.getSeconds();
				var week=dt.getDay();//得到星期,只是一个数字
				if (value != 8262){
					document.getElementById("bali").innerHTML="巴黎时间:&nbsp;&nbsp;"+year+"年"+preZero(month)+"月"+preZero(day)+"日"+weeks[week]+preZero(hours)+":"+preZero(minutes)+":"+preZero(seconds);
					bali = window.setTimeout("balishowCityTime()",1000);
				}
		}
			function preZero(n){
				if(n<10){
					return "0"+n;
				}
				return n;
			}

	</script>

</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

优雅哥cc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值