在倒数计时器中添加时区

时间:2019-05-21 11:14:31

标签: javascript

以下代码倒计时至特定的时间setHours,然后在该时间之后重新开始24小时倒计时。但是,这会占用用户计算机的时间,因此在每个国家/地区都不准确。如何为代码指定时区,以便无论您身在何处都正确?

<script>
    (function () {
        var start = new Date;
        start.setHours(14, 0, 0); // 2pm

        function pad(num) {
            return ('0' + parseInt(num)).substr(-2);
        }

        function tick() {
            var now = new Date;
            if (now > start) { // too late, go to tomorrow
                start.setDate(start.getDate() + 1);
            }
            var remain = ((start - now) / 1000);
            var hh = pad((remain / 60 / 60) % 60);
            var mm = pad((remain / 60) % 60);
            var ss = pad(remain % 60);
            document.getElementById('time').innerHTML =
                hh + 'hrs&nbsp;' + mm + 'mins&nbsp;' + ss + 'secs';
            setTimeout(tick, 1000);
        }

        document.addEventListener('DOMContentLoaded', tick);
    })();
</script>`

1 个答案:

答案 0 :(得分:0)

如果您希望世界各地的开始时间相同,则可以根据UTC时间进行设置。

start.setHours(14 - start.getTimezoneOffset()/60, 0, 0);