2015-01-20 15 views
0

Yii 프레임 워크 2.0 사용 내 데이터베이스에서 레코드를 가져옵니다. 각 테이블에는 created_at이라는 열이 있습니다. created_at = '2015-12-25 01:00:00'이라고합시다. 다음 Yii 포맷터를 사용합니다.Yii 프레임 워크 2.0 asDate() 1 시간 전

Yii::$app->formatter->asDate($model->created, 'php:d-m-Y h:i:s'); 

결과는 다음 25-12-2015 2시 0분 0초. 1 시간 빨리 나옵니다. 나는 이유를 모른다. 이 문제를 해결하려면 어떻게해야합니까?

+1

정확한 시간대를 php.ini 파일에서 확인하십시오. – Vick

답변

0

당신이 당신의 데이터베이스에 UTC를 저장하고 Europe/Paris 표시하려는 경우 예를 들어 포맷터 defaultTimeZone하고 구성 요소의 설정에 timeZone을 설정해야합니다 http://www.yiiframework.com/doc-2.0/guide-output-formatter.html#time-zones

+0

@sojo 도움이되지 않습니다. 다른 솔루션? –

+0

답변 됨 updated ... – soju

+0

안녕하세요 soju - 예를 들어 dd/mm/YY와 같은 출력 형식을 포맷터에 추가하여 날짜를 원하는 형식으로 전체적으로 표시 할 수 있습니까? 그렇지 않으면 DB에 저장하는 데만 작동합니다. 내가 귀하의 제안을 시도했지만 여전히 표시 날짜는 YY/mm/dd입니다. – Pawan

1

@Soju :

'components' => [ 
    'formatter' => [ 
     'defaultTimeZone' => 'UTC', 
     'timeZone' => 'Europe/Paris', 
    ], 
], 

가 더 읽기 나는 당신의 해결책을 시도했습니다. 다음 구성으로 문제가 해결되었으므로 약간 대답을 변경해야했습니다.

'components' => [ 
    'formatter' => [ 
     'defaultTimeZone' => 'Europe/Paris', 
    ], 
],