我有这段代码在给定时间显示和隐藏某个元素:
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';
}
}
然而,这不会按预期工作,因为我需要时间在日本时间,而不是用户时间。如何设置默认时区?
谢谢。
答案 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"