javascript - 添加时区到倒计时器

标签 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>`

最佳答案

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

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

关于javascript - 添加时区到倒计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56237071/

相关文章:

javascript - 如何等待用户对 Meteor AutoForm 提交的响应?

javascript - Highcharts Ajax Json 不显示图表

php - 输出 PHP 分隔符 (<?php, ?>),PHP 不解释分隔符

javascript - 嵌套 if 语句与 &&(or) 运算符

javascript - 使引导轮播中的图像响应?

javascript - 是否有原生 JavaScript 方法来解析格式不正确的类似 JSON 的字符串?

javascript - 用户可以通过浏览器永久修改 HTML 文件吗?

javascript - Grafana,编写一个简单的插件,不使用 grunt 或其他什么

javascript - Ionic 应用程序在初始化完成之前开始工作

javascript - 在 slickgrid 中手动触发事件