2016-11-10 39 views
0

我有一個Datatable在我的Yii2項目中,它有一個名爲streamtime的列,在數據庫中streamtime的格式是YMd H:i:s,我試圖將它轉換爲dMY H:我,但是當我這樣做了一個小時就被添加到日期時間。Yii2 datatables格式datetime添加一小時

<?= DataTables::widget([ 
       'dataProvider' => $dataProvider, 
       'columns' => [ 
        [ 
         'label'=> 'Stream time', 
         'attribute'=>'datetime', 
         'format' => ['datetime', 'd-M-Y H:i'], 
        ], 

        'streamer.name', 

        'game', 
        'description', 
        // 'created_at', 
        // 'updated_at', 

        ['class' => 'yii\grid\ActionColumn'], 
       ], 
      ]); ?> 

This is what showes up This is the database time

+0

請檢查您是否正確設置時區'date_default_timezone_set' – Yaroslav

回答

2

請檢查您是否正確設置時區date_default_timezone_set

1

此時此刻我解決它這個樣子,它的工作原理,但它不是事情應該是這樣。

<?= DataTables::widget([ 
       'dataProvider' => $dataProvider, 
       'columns' => [ 
        [ 
         'value' => function ($data) { 
           return date('d-m-Y H:i', strtotime($data->datetime)); 
           }, 
         'label'=> 'Stream time', 
         'attribute'=>'datetime', 
         //'format' => ['datetime', 'd-M-Y H:i'], 
        ], 

        'streamer.name', 

        'game', 
        'description', 
        // 'created_at', 
        // 'updated_at', 

        ['class' => 'yii\grid\ActionColumn'], 
       ], 
      ]); ?> 
0

嘗試使用PHP

'format' => ['datetime', 'php:d-M-Y H:i'],