특정 도시의 지역시각을 구하고 싶습니다.
글쓴이: hermit / 작성시간: 목, 2003/11/20 - 4:36오후
예를 들어서 서울, LA, Arizona, Chicago, Calgary, 등의 지역 시간을 얻고 싶습니다. PHP를 통해서 웹에서 출력해주는 것입니다.
제가 검색하여 본 바로는 단순히 제가 호스팅 받는 원격 서버의 기준시각으로부터 특정 지역의 시간차이를 단순히 계산하여 보여주더군요. 이러한 방법으로는 일광절약시간(서머타임)을 고려할 수가 없다고 봅니다. 따라서 일광절약시간을 고려하여 특정 지역의 시각을 확인할 수 있는 방법이 없을까요?
자바스크립트로 된 소스들은 사용자 클라이언트 시스템의 시각을 단순히 보여주는 것이었는데요. 제가 원하는 것은 제 홈에 방문하는 다른 지역에 있는 분들이 타지역의 시간을 좀 확인하게끔 해주고 싶어서입니다. ^^
서머타임을 고려해서 시간을 돌리기 위해서는 수동으로 매번 시간을 조정해줄 수 밖에 없는 것인지요. 좋은 방법이나 아이디어가 있으시다면 일러주세요.
ps. 그리고 갑자기 들은 의문인데요. 북미지역에서 윈도우나 리눅스 같은 운영체제들은 서머타임에 어떻게 대처하나요? 매년 한 시간 씩 줄었다 늘었다 하는데. 그걸 매번 사용자들이 변경해야 하나요? ^^
ps1. 수정해서 추가하는데요. 시카고에 사는 한 분에 말에 의하면 영문윈도우의 경우에는 서머타임에 구애 받지 않고 시스템이 알아서 시각 설정을 해준다고 하네요. 따라서 시스템 호출로 특정 지역의 시각을 알아낼 수 있을 것 같은데요. 도와주세요. ㅠㅠ
Forums:
[code:1]% env TZ=GMT+0900 dateThu Nov
TZ환경변수를 수정하고 date 관련 함수를 부르면 되지 않을까요? 유닉스 timezone info는 서머타임에 대한 처리도 하는 걸로 아는데요.
p.s. TZ값은 OS에 따라 다를 수 있습니다. 위는 FreeBSD...
--
익스펙토 페트로눔
좋은 답변이 되었습니다.
일단 고맙다는 말씀을 전합니다. =)
제가 구현한 방식은 다음과 같이 php 상에서 구현을 해보았습니다.
사실 일러주신대로 해서 php 라이브러리 system 함수를 이용해서 얻은 결과를 임의로 파싱을 할까 생각했는데요. putenv, getenv란 함수가 php에서 제공되고 있었네요. (php.net putenv 함수 설명 밑 사용자 코멘트에 예로서 적혀 있더군요.) 그리고 제가 호스트 서버는 안녕 리눅스(oops.org)에 경우에는 /usr/share/zoneinfo에 가능한 지역정보가 잘 있었습니다. man 페이지에 의하면 /usr/lib/zoneinfo 디렉토리에 지역정보가 저장되어 있을 수도 있다는군요. 8)
2006년 1월 28일만 보고 산다 -_-;
댓글 달기