2014-03-12 2 views
1

나는 주어진 W3C 날짜 문자열에서 올바른 시간대를 설정해야하는 DateTime 객체를 만들고 싶습니다. W3C 날짜의 예는 다음과 같습니다. 2014-03-12T09:30:04+0000주어진 W3C 날짜 문자열에서 새 DateTime 인스턴스를 만드는 방법은 무엇입니까?

나는 그걸 많이 찾았고 해결책을 찾지 못했습니다.

$dt = new DateTime(); 
$dt->setTimestamp(strtotime('2014-03-12T09:30:04+0000')); 
var_dump($dt); 

하지만이 시간대를 무시 생각은, 그것을 나던 : 지금까지 가지고 무엇

는이 다음이다?

+0

아니요, 디버그 출력을 잘못 해석하기 때문에 _ 시간대를 무시하지 않습니다. – CBroe

답변

1

방금 ​​시도한 적이 있습니까?

$dt = new DateTime('2014-03-12T09:30:04+0000'); 
print_r($dt); 

내 출력 : 그래서

DateTime Object 
(
    [date] => 2014-03-12 09:30:04 
    [timezone_type] => 1 
    [timezone] => +00:00 
) 

, 그것은 시간대 미세 저장하지만 당신은 아마 출력 잘 해석되지 않는다; 현지 시간으로 인쇄하려면 변환을해야합니다.

+0

예, 잘못된 시간이되었습니다. – alpham8

+0

수정 된 답변을 참조하십시오. –

+0

감사합니다,이 'DateTime' 개체에 대한'유럽/베를린 '시간대를 설정하여 내 문제를 해결했습니다. – alpham8

1

$dt = new DateTime('2014-03-12T09:30:04+0400'); 
var_dump($dt); 

마지막 4 개 번호가 사용자의 시간대를 정의하는 것입니다보십시오.

출력 결론적

object(DateTime)#1 (3) { 
    ["date"]=> 
    string(19) "2014-03-12 09:30:04" 
    ["timezone_type"]=> 
    int(1) 
    ["timezone"]=> 
    string(6) "+04:00" 
} 

없이 그것을 무시하지 않는 시간대.

관련 문제