CGridView中的日期格式问题 - YII框架

时间:2013-12-20 11:48:31

标签: php yii cgridview

我试图在CGridView中显示创建的日期列,在DB中它的数据类型是DateTime。 我使用下面的代码来格式化日期,

array(  'name'=>'created',
                        'header'=>'created',
        'value' => 'Yii::app()->dateFormatter->format("d/M/y",strtotime($data->created))'
                       ),

我在CGridView中获取日期格式化列,但是null值在列中显示sysdate。请参阅附图,

请提供任何解决方案,以删除空值列中的sysdate

enter image description here

2 个答案:

答案 0 :(得分:2)

好吧,strtotime(null)会返回false Kami 显然是错误的。)

问题出在Yii date formater:Yii::app()->dateFormatter->format("d/M/y", false)将返回当前日期。

您只需在模型中创建一个getter:

function getCreatedDate()
{
  if ($this->created===null)
    return;

  return Yii::app()->dateFormatter->format("d/M/y", $this->created);
}

在网格视图列中,您只需使用:

  • array('name'=>'created', 'value'=>'$data->createdDate')
  • 'createdDate'

答案 1 :(得分:0)

使用CGridView的nullDisplay属性并设置:

'nullDisplay'=>''