根据不同时区显示当地时间

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>根据不同时区显示当地时间</title>
    </head>
    <body>
        <p>北京时间:<span id="bj"></span></p>
        <p>伦敦时间:<span id="ld"></span></p>
        <p>纽约时间:<span id="ny"></span></p>
        <p>东京时间:<span id="dj"></span></p>
        <script type="text/javascript">
            function getTimeString(date, timezone) {
                //获取时差(返回当地时间与伦敦时间的分钟的差值)
                var sc = date.getTimezoneOffset();
                //获取日期对象
                var newDate = new Date();
                //重置日期对象
                newDate.setTime(date.getTime() + sc * 60000 + timezone * 3600000);
                //
                var Y = format(newDate.getFullYear());
                //
                var M = format(newDate.getMonth() + 1);
                //
                var D = format(newDate.getDate());
                //小时
                var H = format(newDate.getHours());
                //分钟
                var m = format(newDate.getMinutes());
                //
                var S = format(newDate.getSeconds());
                //格式化时间
                function format(n) {
                    if(n < 10) {
                        return '0' + n;
                    } else {
                        return '' + n;
                    }
                }
                //返回时间字符串
                return Y + '' + M + '' + D + '日&nbsp;' + H + ':' + m + ':' + S;
            };
            setInterval(function() {
                var now = new Date();
                document.getElementById('bj').innerHTML = getTimeString(now, 8);
                document.getElementById('dj').innerHTML = getTimeString(now, 9);
                document.getElementById('ld').innerHTML = getTimeString(now, 0);
                document.getElementById('ny').innerHTML = getTimeString(now, -5);
            }, 1000)
        </script>
    </body>
</html>

 

posted @ 2019-06-03 15:42  sjzhen  阅读(356)  评论(0编辑  收藏  举报