2017-04-04 5 views
0

Carbon을 사용하여 Laravel 5.3에서 UTC 오프셋에서 시간대 이름을 가져 오려고합니다. 아래의 코드는 도움이 될 것입니다.Laravel 5.3 - Carbon Date - UTC 오프셋으로 시간대 이름 가져 오기

/* current code iteration */ 
$utcOffset = -5; 
$timezone = Carbon::now($utcOffset)->timezone->getName(); 
echo $timezone; 
// Result: -05:00 
// Expected Result: EST 

/* tried code */ 
$timezone = Carbon::now($utcOffset)->tzName; 
// Result: -05:00 

/* What I used prior to Carbon */ 
$timezone = timezone_name_from_abbr(null, $utcOffset * 3600, TRUE); 
$dateTime = new DateTime(); 
$dateTime->setTimeZone(new DateTimeZone($timezone)); 
$timezone = $dateTime->format('T');' 

무엇이 누락 되었습니까? 나는이 나를 위해 작동

답변

0

이전 날짜 클래스를 사용하여 결국 아무 evail에 탄소를 업데이트했습니다.

$timezone = timezone_name_from_abbr(null, $utcOffset * 3600, TRUE); 
$dateTime = new DateTime(); 
$dateTime->setTimeZone(new DateTimeZone($timezone)); 
$timezone = $dateTime->format('T'); 
1

.. 바보 느낌 :

$now = Carbon::now(-5); 

echo $now->timezone; 
// prints 'America/Chicago' 
+0

는 [자식 REPO]에 기초하여 (https://github.com/briannesbitt/Carbon/blob/master/src/Carbon/Carbon.php#L240)는 '$ 지금 -> tzName' –

+0

I이고 둘 다 같아요 : http://imgur.com/mJR6Wen – devk

+0

그 오류를 반환합니다 : DateTimeZone 클래스의 개체를 문자열로 변환 할 수 없습니다. –