Yii2.0在GridView中如何格式化日期时间类型 [ 2.0 版本 ]
Yii2.0在GridView中如何格式化日期时间类型
在GridView中格式化日期时间类型这个我想应该在我们的日常项目中是比较常见的,也是必不可少的,那么我们应该如何呢?
直接上代码:
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'id',
[
'attribute' => 'category',
'label'=>'栏目',
'value'=>
function($model){
return Article::get_type_text($model->category); //主要通过此种方式实现
},
],
'title',
[
'attribute' => 'uid',
'label'=>'管理员',
'value'=>
function($model){
return Article::get_uid_type_text($model->uid); //主要通过此种方式实现
},
],
[
'attribute' => 'updatetime',
'label'=>'更新时间',
'value'=>
function($model){
return date('Y-m-d H:i:s',$model->updatetime); //主要通过此种方式实现
},
'headerOptions' => ['width' => '170'],
],
['class' => 'yii\grid\ActionColumn', 'header' => '操作'],
],
]); ?>
ok 带你展示完毕!希望对大家的有点用!
金色木叶枫 乌鲁木齐
注册时间:2013-07-01
最后登录:2017-10-17
在线时长:62小时10分
最后登录:2017-10-17
在线时长:62小时10分
- 粉丝21
- 金钱8685
- 威望70
- 积分10005
共 6 条评论
谢谢 帮助到了我
阿萨德撒的asdsad
貌似有更简单的方法...
http://www.yiichina.com/doc/api/2.0/yii-grid-datacolumn#$format-detail
'updatetime:datetime'
这个需要在config/main.php 配置一个, 这样就能输出你想要的格式了,否则默认是英文那种时间格式
'components' => [
'formatter' => [ 'dateFormat' => 'dd.MM.yyyy', 'decimalSeparator' => ',', 'thousandSeparator' => ' ', 'currencyCode' => 'EUR', ], ],
配置了components,还是不管用。。
@kantorgong 不管用的话就对了,因为楼上只配置了date,没有配置datetime 哈哈哈
@wow6haka 应该怎么配置啊
@xyxdasnjss http://www.yiiframework.com/doc-2.0/yii-i18n-formatter.html#$datetimeFormat-detail
一行就有两个外部查询,一页显示20行,就有40个查询。
这些数据应该提前查询并传入页面会更好些吧。
列表页行多的时候不要使用Lazy Loading ,尽量用Eager Loading,能联表查询的东西,直接在SearchModel里面显式的使用with带进来,这样就可以避免太多的查询了。然后直接作为属性调用就好了
$format public property
string|array $format = 'text'
In which format should the value of each data model be displayed as (e.g. "raw", "text", "html", ['date', 'php:Y-m-d']).
'created_at:datetime', 这样就可以