2012-05-22 6 views
4

기본 표준 시간대를 변경하지 않고 PHP로 날짜 문자열의 표준 시간대를 변환하려면 어떻게해야합니까? 로컬로만 변환하여 표시하고 싶습니다. PHP 시간대 설정은 수정하면 안됩니다.PHP 표준 시간대 설정을 변경하지 않고 UTC로 변환

편집 : 내 소스 시간은 내가 UTC로 시간대를 유지, 다른 형식으로 변환하고자하는 UTC 문자열이지만, PHP는 지역의 시간대로 변환됩니다. 내가 사용하는 코드였다

date('Y-m-d H:i::s',strtotime($time_str)); 

어떻게 시간대를 유지합니까? 소스 시간이 UTC 인 경우,이에 한 줄을 변경할 수

답변

9
$src_tz = new DateTimeZone('America/Chicago'); 
$dest_tz = new DateTimeZone('America/New_York'); 

$dt = new DateTime("2000-01-01 12:00:00", $src_tz); 
$dt->setTimeZone($dest_tz); 

echo $dt->format('Y-m-d H:i:s'); 

참고 :

$dt = new DateTime("2000-01-01 12:00:00 UTC"); 

편집 : 당신이 UTC에 가고 싶어처럼 보인다. 이 경우 $dest_tz 생성자에 대한 매개 변수로 "UTC"을 사용하고 원래 코드 블록을 사용하십시오. 물론 기본 시간대와 동일하면 $src_tz 매개 변수를 생략 할 수 있습니다.

관련 문제