2016-06-14 3 views
0

yii2 프로젝트에서 내보기에 datetime 형식을 만들고 싶습니다. 데이터베이스의 datetime과 동일하지 않습니다. 이 코드를 사용Datetime 형식이 Yii2의 데이터베이스와 동일하지 않습니다.

return Yii::$app->formatter->asDatetime($model->tanggal_sampai, "php:d M Y H:i"); 

데이터베이스의 날짜는 다음과 같습니다 2016년 6월 14일 16시 53분 40초

하지만 위의 yii2의 코드의 결과를 볼 때, 결과는 동일하지 않습니다 . 결과는 다음과 같습니다. 14 Jun 2016 18:53

날짜에는 문제가 없지만 시간은 매우 다릅니다. 뭐가 문제 야? 내가 인도네시아에 있기 때문에 'WIB'형식을 사용합니다.

'components' => [ 
     'formatter' => [ 
      'class' => 'yii\i18n\Formatter', 
      'dateFormat' => 'php:m/d/Y', 
      'datetimeFormat' => 'php:Y-m-d H:i:s', 
      'timeFormat' => 'php:H:i:s', 
     ], 

그리고 당신은 얻을 것이다 :

기본 설정 파일에서
+0

아시아에 대한 시간대가 동일한 시간대에 작업을하고 있습니까? Check http://stackoverflow.com/questions/33139434/issue-in-yii2-timezone-formatter –

+0

데이터베이스에 날짜를 저장할 때 WIB timeZone을 사용하지만 yii2 프로젝트에 표시 할 때 위 코드를 사용합니다. . – RiefSapthana

+0

제대로 저장 되나요? datetime이 설정되면 삽입 된 datetime은 실시간과 동일합니까? – robsch

답변

1

넣어

echo Yii::$app->formatter->asDatetime('2016-06-14 16:53:40'); 

2016년 6월 14일 18시 53분 40초

이 시간은 UTC이며 시간대 때문에 +2가 추가됩니다. 인덱스에 date_default_timezone_setUTC 또는 으로 정의하면 데이터베이스에 저장 한 시간이 변환되지 않습니다.

2016년 6월 14일 16시 53분 40초

정보 : http://php.net/manual/en/timezones.asia.php

관련 문제