查看不同国家的时间(通过引入的方式使用react需要注意的点)

<!DOCTYPE html>
<html>
 
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>获取时区时间</title>
    <script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
    <script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
    <script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
</head>
 
<body>
    <div id="example"></div>
    <script type="text/babel">
        function getCurrentTime(t) {
            //t为时区参数  默认东八区北京时间
            if(t===undefined){
                t=8;
            }
            const time = new Date();
            const len = time.getTime();
            const offset = time.getTimezoneOffset() * 60000; //本地时间与GMT时间差值
            const utcTime = len + offset;  //格林尼治时间
 
 
            const date = new Date(utcTime + 3600000 * t); //格林尼治时间和当前时区差值
            const y = date.getFullYear(),
                mon = date.getMonth() + 1,
                d = date.getDate(),
                h = date.getHours(),
                m = date.getMinutes(),
                s = date.getSeconds();
 
            //不足两位补0
            function addZero(value) {
                if (value < 10) return "0" + value;
                else return value;
            }
            const result = y + "-" + addZero(mon) + "-" + addZero(d) + " " + addZero(h) + ":" + addZero(m) + ":" + addZero(s);
            return result
 
        }
        
        
        //8为东八区北京时间 东区时区1~12 西区时区-1~-12
        console.log("%c北京时间", "color:red;font-weight:bold;", getCurrentTime());
        console.log("%c东九区-东京时间" ,"color:green;font-weight:bold;", getCurrentTime(9));
        console.log("%c西九区-阿拉斯加时间" ,"color:blue;font-weight:bold;", getCurrentTime(-9));
        console.log("%c英国伦敦" ,"color:blue;font-weight:skyblue;", getCurrentTime(1));
        console.log("%c美国华盛顿" ,"color:orange;font-weight:skyblue;", getCurrentTime(-5));
        // setInterval(()=>{
        //      //8为东八区北京时间 东区时区1~12 西区时区-1~-12
        //     console.log("%c北京时间", "color:red;font-weight:bold;", getCurrentTime());
        //     console.log("%c东九区-东京时间" ,"color:green;font-weight:bold;", getCurrentTime(9));
        //     console.log("%c西九区-阿拉斯加时间" ,"color:blue;font-weight:bold;", getCurrentTime(-9));
        // },1000)

        class AllTime extends React.Component {
            constructor(props) {
                super(props);
                this.state = {
                    bj : "",
                    dj : "",
                    alsj: "",
                    ld: "",
                    hsd:""
                }
            }

            componentDidMount() {
                setInterval(() => {
                  let  bj = getCurrentTime();
                  let   dj = getCurrentTime(9);
                  let   alsj =  getCurrentTime(-9);
                  let  ld =  getCurrentTime(1);
                  let   hsd =  getCurrentTime(5);
                  this.setState({bj,dj,alsj,ld,hsd})
                }, 1000);

            }

            componentWillUnmount() {
              
            }

            

            render() {
                const {bj, dj,alsj,ld,hsd} = this.state;
                return (
                    <div>
                        <div style={{backgroundColor:"skyblue", fontSize:"30px"}}>北京时间: {bj}</div>
                        <div style={{backgroundColor:"green", fontSize:"30px"}}>东京时间: {dj}</div> 
                        <div style={{backgroundColor:"pink", fontSize:"30px"}}>阿拉斯加时间: {alsj}</div>
                        <div style={{backgroundColor:"orange", fontSize:"30px"}}>英国伦敦时间: {ld}</div>
                        <div style={{backgroundColor:"gray", fontSize:"30px"}}>美国华盛顿时间: {hsd}</div>  
                    </div>
                );
            }
        }

        // function AllTime(){
        //     return (
        //        <div>
        //             <div>北京时间:{getCurrentTime()}</div>
        //             <div>东京时间:{getCurrentTime(9)}</div> 
        //             <div>阿拉斯加时间:{getCurrentTime(-9)}</div>
        //             <div>英国伦敦时间:{getCurrentTime(1)}</div>
        //             <div>美国华盛顿时间:{getCurrentTime(-5)}</div>  
        //        </div>
                
        //     )
        // }
        
        
        ReactDOM.render(
            <AllTime/>,
            document.getElementById('example')
        );
 
    </script>
</body>
 
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值