Ответ 1
Вы можете получить локальное смещение часового пояса клиента, чтобы получить время по Гринвичу, а затем добавить часы смещения временного времени Германии (Центральноевропейское время GMT + 1):
function getDate(offset){
var now = new Date();
var hour = 60*60*1000;
var min = 60*1000;
return new Date(now.getTime() + (now.getTimezoneOffset() * min) + (offset * hour));
}
//...
var dateCET = getDate(1); // Central European Time is GMT +1
if (dateCET.getHours() < 12) {
alert ("Good morning.");
} else {
alert ("Good afternoon.");
}
Обновление: Я согласен с @Josh, приведенный выше код полностью зависит от клиента. Попробуем сделать это лучше:
$(document).ready(function(){
var timezone = "Europe/Berlin";
$.getJSON("http://json-time.appspot.com/time.json?tz="+timezone+"&callback=?",
function(data){
if (data.hour < 12) {
alert ("Good morning in "+timezone);
} else {
alert ("Good afternoon in "+timezone);
}
})
});
Теперь мы используем JSONP для выполнения кросс-доменных запросов jsontime, этот сервер предоставляет полный API JSON для запроса информации о времени и часовом поясе.
Вы можете играть с кодом здесь, и вы можете изучить API JSONP .
Ура!, не серверный код!