如何将倒计时的目标时间设置为设定的时区?

时间:2014-12-12 20:46:49

标签: javascript date time countdown

我正在倒计时网页上进行游戏的大量更新,这将是一件大事而不是什么。该倒计时目前正在使用此代码获取计算机的时间,目标结束时间和时差:

var christmas = new Date("December 25, 2014 00:01:00");
var now = new Date();
var timeDiff = christmas.getTime() - now.getTime();

无论计算机的时区设置为何,我都需要一种方法让christmas目标时间在同一时区。

2 个答案:

答案 0 :(得分:1)

使用UTC:



var xmas = new Date('2014-12-25T00:00:01.0000000'); 
var utc = new Date(
              xmas.getUTCFullYear(),
              xmas.getUTCMonth(),
              xmas.getUTCDate(),
              xmas.getUTCHours(),
              xmas.getUTCMinutes(),
              xmas.getUTCSeconds()
          );

alert('local diff: ' + (xmas.getTime() - new Date().getTime()));
alert('utc diff: ' + (utc.getTime() - new Date().getTime()));




答案 1 :(得分:0)

首先(开玩笑)X-Mas时间是" 2014年12月25日00:00:01"如果您的页面是动态提供的(如PHP),请将服务器端日期放在html源代码中,如下所示:

<script>
var christmas = new Date("December 25, 2014 00:00:01");
var currentServerDate= <?= time() ?>
var dateDiff = christmas.getTime() - serverDate.getTime();
</script>

无论你的访客来自哪个TimeZone总是会是相同的