내 홈페이지에 http://www.dynamicdrive.com/dynamicindex6/localtime.htm과 같은 자바 스크립트 월드 타임 시계를 포함하고 싶지만 DST가 시간대에 따라 바뀔 때마다 변경하고 싶지는 않습니다. DST 이후 다른 장소의 라이브 시간대와 변경하지 않고 현재 시간을 표시 할 수 있도록 공식적인 시간 서버와 자동으로 동기화 할 수 있습니까?DST 지원 및 서버 동기화가있는 월드 타임 시계
답변
date_default_timezone_set
과 함께 표준 date
기능을 사용하십시오.
$timezones = array("Australia/Brisbane", "America/New York", "Europe/London");
foreach ($timezones as $tz) {
date_default_timezone_set($tz);
echo "The time in $tz is: " . date('r');
}
모든 일광 절약제와 모든 것을 처리합니다.
현재 지원되는 시간대의 목록을 찾을 수 있습니다 http://www.php.net/manual/en/timezones.php
편집 :자바 스크립트 구현 :
출력에 PHP를 얻기 위해 위의 방법을 사용하여 모든 다른를 관심있는 시간대는
date('Z')
으로 UTC에서 초를 가져옵니다.var offsets = { 'Brisbane' : 36000, 'Sydney' : 42000, 'London' : 0 };
루프를 그들 모두를 추가하고 필요에 따라 오프셋을 뺀 : 자바 스크립트를 사용할 수 있도록 출력은 JSON 또는 무언가를 사용하여.
for (var city in offsets) { var d = new Date(); d.setTime(d.getTime() + offsets[city] * 1000); alert('The time in ' + city + ' is ' + d.toUTCString()); }
- 가 경고하지만 setInterval을
를 사용하여 매 초마다 호출되는 함수로 위를 넣어 :이 이론에 있기 때문에, 정확한 보장되지 않습니다, 위치의 시간대는 변경 될 수 있습니다 누군가가 창을 열어 놓은 상태입니다 (DST의 경계에있을 수 있음). 별로 가능성은 없으며 페이지를 새로 고침하면 적절한 시간이 표시되므로 큰 문제는 아닙니다.
JavaScript를 원할 때 PHP를 사용한다고 언급하는 것을 잊었습니다. 모든 초기 데이터를 일부 양식 필드에로드하고 JavaScript를 사용하여 setInterval 함수를 사용하여 폴링하여 시간을 업데이트하는 것이 좋습니다. –
그래, 이미 그와 같은 코드를 사용하고 있지만 JavaScript로 시계를 실시간으로 업데이트하고
@Peleke 지금 편집을 확인하십시오. – nickf
Windows Server/.NET에는 시간대에 대한 많은 기록이 있으므로 사용자 환경에 따라 공식 시간 서버가 필요하지 않을 수도 있습니다. 귀하의 질문은 비록 당신이 서버 측 코드가없는 "순수한"자바 스크립트 솔루션을 찾고 있다고 명시하지 않습니다. –
서버가 Linux (Debian)에서 실행 중이며 서버 측 언어가 필요한 경우 PHP (나머지 웹 사이트도 PHP로 작성)를 사용하고 싶습니다. – Peleke