js实现动态显示时间

实现动态显示时间的步骤:1、获取本地当前时间。2、使用定时器。3、离开时清除定时器。(本项目是以react为基础实现的,同理在普通的html中实现方式一样)

1、获取本地当前时间方法写在一个名叫CommonMethod.js的文件里,代码如下:

import React from 'react';

//type为1时输出20181126103245,否则输出2018年10月26日|星期一|11:26:45
const showLocaleTime = (type) =>{
  var objD = new Date();
  var str,colorhead,colorfoot;
  var yy = objD.getYear();
  if(yy<1900) yy = yy+1900;
  var MM = objD.getMonth()+1;
  if(MM<10) MM = '0' + MM;
  var dd = objD.getDate();
  if(dd<10) dd = '0' + dd;
  var hh = objD.getHours();
  if(hh<10) hh = '0' + hh;
  var mm = objD.getMinutes();
  if(mm<10) mm = '0' + mm;
  var ss = objD.getSeconds();
  if(ss<10) ss = '0' + ss;
  var ww = objD.getDay();
  if  ( ww==0 )  colorhead="<font color=\"red\">";
  if  ( ww > 0 && ww < 6 )  colorhead="<font color=\"red\">";
  if  ( ww==6 )  colorhead="<font color=\"red\">";
  if  (ww==0)  ww="星期日";
  if  (ww==1)  ww="星期一";
  if  (ww==2)  ww="星期二";
  if  (ww==3)  ww="星期三";
  if  (ww==4)  ww="星期四";
  if  (ww==5)  ww="星期五";
  if  (ww==6)  ww="星期六";
  colorfoot="</font>"
  if(type == "1"){
    str = yy + "" + MM + "" + dd+ "" + hh + "" + mm + "" + ss;
  }else {
    str = yy + "年" + MM + "月" + dd + "日" + "|"  + ww + "|"+ hh + ":" + mm + ":" + ss;
  }
  return(str);
}

export {showLocaleTime}

2、使用定时器,在页面中调用CommonMethod.js的文件里封装好的方法showLocaleTime ,并在页面销毁时删除定时器

import React from 'react';
import { Row, Col } from 'antd';
import * as CommonMethod from './CommonMethod';//引入方法
export default class Demo extends React.Component {
    state = {
        time0:"2017年09月10日",
        time1:"星期日",
        time2:"16:23:41",
    }

    componentDidMount(){
        var self = this;
        this.showLocaleTime = setInterval(function(){
          var time = CommonMethod.showLocaleTime();
          var time0 = time.split("|")[0];
          var time1 = time.split("|")[1];
          var time2 = time.split("|")[2];
          self.setState({
            time0:time0,
            time1:time1,
            time2:time2,
          });
        },1000);
     }
    componentWillUnmount(){//组件卸载时清除定时器
        clearInterval(this.showLocaleTime);
    }
    render(){
        const {time0,time1,time2} = this.state;
        return (
            <div>
                <Row>
                  <Col span={18}>
                    <footer>
                      <p>
                        <span>今天是 {time0} | {time1} | </span>
                        <span>{time2}</span>
                      </p>
                    </footer>
                  </Col>         
                </Row>
             </div>
        )
    }
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值