2011-05-03 1 views
1

사용자 영역에 시간대를 적용하는 PHP 날짜 함수가 필요합니다. 따라서 사용자가 오스트레일리아에있는 경우 관련 날짜가 표시되고 사용자가 영국인 인 경우 관련 날짜가 표시됩니다.사용자 영역에 적응하는 PHP 날짜 함수

+0

참조 답변 : http://stackoverflow.com/questions/13/how-can-i-determine-a-web-users-time-zone – Neal

답변

3

date_default_timezone_set을 사용하여 사용자의 기본 시간대를 설정할 수 있습니다. 서버의 시간이 맞다고 가정하면 모든 날짜가 올바르게 상쇄됩니다.

<?php 
date_default_timezone_set('Europe/London'); 
echo date('d/m/Y H:i:s'); 
echo "\r\n"; 
date_default_timezone_set('Europe/Stockholm'); 
echo date('d/m/Y H:i:s'); 
echo "\r\n"; 

출력 : 당신은 사용자 별 기준이 설정을 저장하고 로그인시 (물론 때마다 세션 다시로드에)을 설정할 수

Rudis-Mac-Pro:~ rudi$ php tmp.php 
03/05/2011 18:15:49 
03/05/2011 19:15:49 

.

사용자 위치에 따라 자동으로 수행하려는 경우 은 GeoLocation 서비스를 사용하는 것이 가장 좋습니다 (쉽게 통합 할 수있는 무료 IP- 위치 데이터베이스가 있습니다). 물론 이것은 100 % 신뢰성이 아니며 자동으로 수행하는 작업은 결코 정확하지 않습니다. 등록하고 위치를 정의하는 것이 좋을 것입니다. 잘못하면 안됩니다!

0

strftime() 함수는 날짜 서식을 지정할 때 현재 로캘을 고려합니다. 그것은 date()과 비슷하지만 영어가 아닌 주어진 로케일의 언어로 요일이나 달 같은 단어를 인쇄합니다. setlocale() 함수를 사용하여 strftime()을 호출하기 전에 로켈을 설정하십시오. 이 질문에

setlocale(LC_TIME, "fr"); 
echo "Today's day in French: " . strftime("%A");