首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使此倒计时适用于其他时区?

如何使此倒计时适用于其他时区?
EN

Stack Overflow用户
提问于 2018-12-31 14:54:32
回答 2查看 39关注 0票数 0

我正在设置新年倒计时(我知道有点晚了),但我想知道如何让它在其他时区工作

我已经让它在通常的UTC时区工作,因为这是默认的。我已经尝试过.toLocalString,它在倒计时时返回NaN

代码语言:javascript
复制
var countDownDate = new Date("Dec 31, 2018 23:59:02").getTime();

var x = setInterval(function() {

  var now = new Date().getTime();

  var distance = countDownDate - now;

  var days = Math.floor(distance / (1000 * 60 * 60 * 24));
  var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 
60));
  var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
  var seconds = Math.floor((distance % (1000 * 60)) / 1000);

  document.getElementById("display").innerHTML = days + "d " + hours + "h "
  + minutes + "m " + seconds + "s ";

  if (distance < 0) {
    clearInterval(x);
    document.getElementById("display").innerHTML = "Happy New Year!";
    done()

  }
}, 1000);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-31 15:14:05

javascript的Date函数返回每个时区的本地时间,具体取决于页面的加载位置。因此,您不必跟踪每个时区explained here

票数 1
EN

Stack Overflow用户

发布于 2018-12-31 15:09:03

您可以使用moment.js轻松实现这一点:

代码语言:javascript
复制
var tz = moment.tz.guess();
console.log("Current Timezone: " + tz);
var last = moment.tz("2018-12-31 23:59:02", tz);
setInterval(function(){
    var current = moment.tz(tz);
    if(current.isBefore(last, "seconds")){
        var diff = moment.duration(last.diff(current));        
        document.getElementById("display").innerHTML = diff.days() + "d " + 
            diff.hours() + "h " + diff.minutes() + "m " + diff.seconds() + "s";
    }else{
        document.getElementById("display").innerHTML = "Happy New Year!";
    }
}, 1000);
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.23.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.23/moment-timezone-with-data-2012-2022.min.js"></script>
<div id="display"></div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53984504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档