首页 > 解决方案 > 带有时区的 Javascript 倒计时计时器

问题描述

我有计时器。现在计时器显示 PC 上当前时间到一天结束的剩余时间,然后更新。但我需要将计时器绑定到 UTC +3 时区。我该怎么做呢?

我的代码:

        function create_target_date() 
        {
            var target_date = new Date();
            //target_date.setDate(target_date.getDate()+1);
            target_date.setHours(23,59,59);
            return target_date;
        }

        function calculation_timer()
        {
            var target_date = create_target_date();
            var current_date = new Date();
            val_timer = target_date.getTime() - current_date.getTime();

            var hours = Math.floor(val_timer/1000/60/60);
            var minutes = Math.floor((val_timer-hours*60*60*1000)/1000/60);
            var seconds = Math.floor(((val_timer-hours*60*60*1000)-minutes*60*1000)/1000);

            document.getElementById('hours').innerHTML = hours;

            document.getElementById('minutes').innerHTML = minutes;

            document.getElementById('seconds').innerHTML = seconds;
        }

        function start_timer()
        {
            calculation_timer();
            id_timer = setInterval(calculation_timer,1000);
        }

标签: javascript

解决方案


因为

 var current_date = new Date();

是 UTC 时间,所以在我的函数中我使用

var utcplus = 3;
....

  var hr = current_date.getHours() + utcplus;
 if (hr>=24) {hr=hr-24;}
if (hr<0) {hr=hr+24;}
var min = current_date.getMinutes();
var sec = current_date.getSeconds();

utcplus 可以定义为 -12 到 +12


推荐阅读