Yii2数据表格式的datetime增加了一个小时

时间:2016-11-10 15:03:04

标签: php yii2

我的Yii2项目中有一个Datatable,它有一个名为streamtime的列,在数据库中,streamtime的格式为YMd H:i:s,我试图将其转换为dMY H:i,但是当我这样做一小时就会被添加到日期时间。

<?= 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

3 个答案:

答案 0 :(得分:2)

请检查您是否正确设置了时区date_default_timezone_set

答案 1 :(得分: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'],
                ],
            ]); ?>

答案 2 :(得分:0)

尝试使用php

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