【问题标题】:Setting default timezone in javascript在javascript中设置默认时区
【发布时间】:2014-05-04 15:47:23
【问题描述】:

我有这段代码可以在给定时间显示和隐藏某个元素:

function live(){
    var now = new Date();
    var elm = document.getElementById("live");
    if(now.getDay() == 0 && (now.getHours() >= 11 && now.getHours() <= 13)) {
        elm.style.display = 'block';
    } else{
        elm.style.display = 'none';
    }      
}

但是,这不会按预期工作,因为我需要时间在日本时间,而不是用户时间。如何设置默认时区?

谢谢。

【问题讨论】:

标签: javascript date timezone


【解决方案1】:

您可以使用timezone-js。像这样的东西可以工作:

var dt = new timezoneJS.Date("2014/05/04 10:10:30 +0000", 'Europe/London');
dt.setTimezone("Asia/Jakarta"); // You can check if they have Japan specific, if not you can probably create a new timezone with +0900
console.debug(dt); //return formatted date-time in asia/Jakarta

虽然有些用户对此有疑问,但倾向于使用moment.js

moment.tz("2014-04-05 11:55", "Tokyo").format(); // "2013-11-18T11:55:00-05:00"

Available timezones in moment.js

【讨论】:

  • 嗨,这样做之后我只需要像往常一样在我的代码下面写吗?
  • 我不确定,试试看。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-21
  • 2015-07-01
  • 2011-12-26
  • 2011-09-03
  • 2020-12-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多