2016-07-21 18:19:20 3396次浏览 3条回答 0 悬赏 10 金钱

上代码

<?= GridView::widget(['dataProvider' => $dataProvider,
    'columns' => [
        'id',
        'title',
        'created_at:dateTime',
    ],
]); ?>
<?php Pjax::end(); ?>

那句 created_at:dateTime 这句代码会执行到那里处怎么修改 我页面效果是这样的 2016年5月26日 上午11:55:00
求大神解,感谢!!!

最佳答案

  • 晦涩de咚 发布于 2016-07-22 10:03 举报

    你是想修改显示的时期格式?

    如果想全局修改的,你可以在配置文件里增加formatter

     'formatter' => [
            'dateFormat' => '你想要的日期格式',
       ],
    

    反之局部的,你可以使用date

    'columns' => [
            'id',
            'title',
            'created_at'=>[
                'label' => 'create_at',
                'value' => date('你想要的格式',$model->create_at),
             ],
        ],
    
    2 条回复
    回复于 2016-07-22 15:04 回复
     'formatter' => [
            'dateFormat' => 'php:Y-m-d H:i:s',
        ],
    

    这样的。

    回复于 2016-07-22 15:16 回复

    恩,你就是想除去上下午(A); 我不清楚你要什么格式所以没写具体的

  • 回答于 2016-07-21 19:06 举报

    你可以为其配置 content 属性,属性的值是一个匿名函数。他看起来就像是这样子的

    'columns' => [
        'id',
        'title',
        [
            'attribute' => 'created_at',
            'content' => function ($model, $key, $index, $column) {
                return '你需要的字符串,在这里的$model很有用比如:' . $model->created_at;
             }
        ],
    ],
    
    4 条回复
    回复于 2016-07-22 14:58 回复

    上次这样写 被老大教育了。

    回复于 2016-07-22 15:06 回复

    哦哦,为毛教育你的啊?

    回复于 2016-07-22 16:17 回复

    大意 说是框架中有的功能,就不要去造轮子。。。直接用就行了。

    回复于 2016-07-22 16:51 回复

    哦哦,不过当你需要的字符串更复杂一些比如你的这个提问。这种方法还是不错的。

  • 回答于 2016-07-22 10:30 举报

    可以自定义输出格式的,可以把你时间的那一行改为下面的:

    [
    'attribute'=>'created_at',
                    'format'=>['datetime','php:Y年m月d日 ah:i:s']
    ],
    
您需要登录后才可以回答。登录 | 立即注册
最爱红烧肉
副总裁

最爱红烧肉

注册时间:2014-11-07
最后登录:2017-10-27
在线时长:69小时2分
  • 粉丝11
  • 金钱4740
  • 威望30
  • 积分5730

热门问题