zii.widgets.CDetailView格式化日期

时间:2012-10-17 13:59:05

标签: php yii

作为zii.widgets.CDetailView格式化我想要的日期,不是采取数据库的形式?

更新

<?php $this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>array(
    ...
    'create_time',
    'update_time',
),
)); ?>

的形式显示日期
Create Time: 2012-10-03 22:49:01
Update Time: 2012-10-05 20:24:01 

我想形成

Create Time: 22:49, 3 Oct 2012
Update Time: 20:24, 5 Oct 2012 

2 个答案:

答案 0 :(得分:2)

CDetailView使用不包含DateFormatter的Yii :: app() - &gt;格式。

您需要使用一个函数来实现此目的。

<?php $this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>array(
    ...
    array(
       'name'=>'create_time',
       'value'=>Yii::app()->dateFormatter->format('HH:ss, dd MMM yyyy',$model->create_time) ,  
     ),
    'update_time',
),
)); ?>

这只是一个示例,格式可能不同,但对您来说是一个很好的帮助。

答案 1 :(得分:1)

如果您计划在许多地方使用该特定格式(例如,超过1 ;-),则可能需要在格式对象中添加自定义函数。

更多信息: Yii formating date and filters

但在本质上它允许你做的是这样指定:

'columns'=>array(
    array(
        'name'=>'checkout',
        'type'=>'myCustomDate',
    ),
),

我发现CGridView的这个功能是一个非常有用的功能,在Yii社区中鲜为人知。