获取当前时间与显示

由于我们主要的是要知道如何获取当前时间与展示出来,所以在这里就不说如何布局这个问题了,而是如何使用js把效果实现

 

 

注意:我这里使用了两个button按钮,这样的好处是可以控制开始与暂停,但这样的缺点也有,就是会出现一个bug,当你多次点击开始的之后你会发现无法暂停,解决方法在下文会有说到。

 

  • 如何实现自动刷新

先是定义一个变量var time r= null;

再去获取到“报时”按钮,再来给它绑定一个点击事件,设置一个setInterval()事件设置每300毫秒(即0.3秒)点击一次

timer = setInterval(function(){

oGive();  //调用下面设置好要刷新的时间日期

},300);

接下来就是再设置一个点击删除函数,这里用到的是clearInterval()

end.onclick = function(){

clearInterval(timer);}//点击“结束”后删除前面的setInterval()事件

 

  • 如何获取当前日期

在此我们再来说如何获取到当前日期,

先是定义一个变量   var d = new Date();

getFullYear 当前年份   var year = d.getFullYear();

 

getMonth  当前月份,要注意的是 在这里月份的计算是从0开始的所以在获取的时候不要忘了+1       var months = d.getMonth();  var month = months+1;

 

getDate  当前日期   var date = d.getDate();

 

getHours  当前时间 24小时制   var hours = d.getHours();

 

getMinutes  当前分钟   var minute = d.getMinutes();

 

getSeconds  当前秒数   var second = d.getSeconds();

 

getDay   当前星期几 也是从0开始计算的,所以我们要把它转化为星期

var day = d.getDay();

var arr = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]

 

接下来为了美观,我们要把显示格式转换为00:00:00的格式,觉得没必要的小伙伴可以跳过这步,这步很简单就是用三目运算做一个判断,我这里以月份为例:month = month< = 9?"0" + month:month;  更完整请参考下文源代码。

 

三、如何解决出现的bug

最后一个也就是前面说的如何解决多次点击报时产生的bug,我相信大部分小伙伴都知道一般的bug都是利用判断解决的,在这里也不例外:

先是定义一个变量  var transfor=false;  但我们这里的字面量使用的是布尔值,使用的原因很简单,因为它只有两个值要么对,要么错。

 

源代码仅供参考:

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>时间显示</title>

<style>

*{

margin: 0px;

padding: 0px;

}

body{

background: #414242;

}

.box{

margin: 100px auto;

width: 80%;

height: 300px;

}

.time{

text-align: center;

font-size: 10rem;

color: aliceblue;

}

.box1{

margin: 100px auto;

width: 37rem;

height: 10rem;

}

.box1>button{

font-size: 3rem;

margin: 80px 50px;

width: 12rem;

height: 6rem;

color: #FFFFFF;

border: 1px solid #FFB200;

border-radius: 10px;

background: #FFB200;

}

.box1>button:nth-of-type(2){

background:  #ff0000;

border: 1px solid #ff0000;

}

.span{

margin-top: 50px;

font-size: 4rem;

color:aliceblue;

text-align: center;

}

</style>

</head>

<body>

<div class="box">

<p class="time" id="time">00 : 00 : 00</p>

<p id="span" class="span"></p>

<div class="box1" id="box1">

<button class="give" id="give">报时</button>

<button class="end" id="end">结束</button>

</div>

</div>

</body>

<script>

var timer=null;

var transfor=false;

window.οnlοad=function(){

var give=document.getElementById("give");

var end=document.getElementById("end");

give.οnclick=function(){

if(transfor==true){

return;

}else{

timer=setInterval(function(){

oGive();

},300);

transfor=true;

}

};

end.οnclick=function(){

transfor=false;

clearInterval(timer);

}

}

function oGive(){

var d=new Date();

var year=d.getFullYear();

var months=d.getMonth();

var date=d.getDate();

var hours=d.getHours();

var minute=d.getMinutes();

var second=d.getSeconds();

var timerr=document.getElementById("time");

var month=months+1;

var day=d.getDay();

var arr=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]

 

timerr.style.textShadow=" 9px 6px 10px #f4de00"

timerr.style.fontSize="7rem";

timerr.style.color="#f4de00";

document.body.style.background='url("../图片/0011.jpg")no-repeat';

document.getElementById("time").innerHTML="现在是中国时间:<br>";

 

month=month<=9?"0"+month:month;

date=date<=9?"0"+date:date;

hours=hours<=9?"0"+hours:hours;

minute=minute<=9?"0"+minute:minute;

second=second<=9?"0"+second:second;

document.getElementById("span").innerHTML=year+" 年 "+month+" 月 "+date+" 日"+"<br>"+hours+" : "+minute+" : "+second+"<br>"+arr[day];

}

</script>

</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值