2

作为一个 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 
4

2 回答 2

2

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

您需要使用一个函数来实现这一点。

<?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',
),
)); ?>

这只是一个示例,格式可能会有所不同,但这对您很有帮助。

于 2012-10-17T14:46:50.857 回答
1

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

更多信息: Yii 格式化日期和过滤器

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

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

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

于 2012-10-17T23:19:56.380 回答