在javascript中设置默认时区

时间:2014-05-04 15:47:24

标签: javascript date timezone

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

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';
    }      
}

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

谢谢。

1 个答案:

答案 0 :(得分:2)

您可以使用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