我的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'],
],
]); ?>
答案 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'],