2014-05-04 5 views
0

у меня есть этот код, чтобы показать и скрыть определенный элемент в данный момент времени:Настройка часового пояса по умолчанию в JavaScript

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

возможно дубликат [Как инициализировать дату яваскрипта к конкретному часовой пояс] (http://stackoverflow.com/questions/15141762/how-to-initialize-javascript-date-to-a-particular-timezone) –

ответ

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

+0

Привет, после этого мне нужно было бы написать ниже мой код как обычно ? – Nuker

+0

Я не уверен, попробуй. – Jonast92

Смежные вопросы