당신은 독일 시간대의 오프셋 시간을 GMT 시간을 가져온 다음 추가 할 클라이언트의 오프셋 (offset) 로컬 시간대를 얻을 수 있습니다 (중앙 유럽 표준시 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);
}
})
});
우리는 지금 jsontime 서버에 크로스 도메인 요청을 할 JSONP을 활용하는이 서버는 시간과 시간대 정보를 조회 할 수있는 완전한 JSON API를 제공합니다.
here 코드로 재생할 수 있으며 JSONP API here을 탐색 할 수 있습니다.
만세!, 서버 측 코드 없음!
출처
2009-03-19 04:06:05
CMS
클라이언트 측 날짜/시간에 의존하지 마십시오. 정확한 것을 보장 할 수는 없습니다! –
이것은 실제로 jQuery와는 아무런 관련이 없습니다. –
클라이언트가 항상 옳다는 사실은 어떻습니까? 사용자가보고있는 한, 잘못된 시간 일지라도 시간은 정확합니다. 다른 서버에서 적절한 시간을 얻으면 사용자가 자신의 시점에서 잘못된 시간을 표시합니다. – sean