我试图在CGridView中显示创建的日期列,在DB中它的数据类型是DateTime。 我使用下面的代码来格式化日期,
array( 'name'=>'created',
'header'=>'created',
'value' => 'Yii::app()->dateFormatter->format("d/M/y",strtotime($data->created))'
),
我在CGridView中获取日期格式化列,但是null值在列中显示sysdate。请参阅附图,
请提供任何解决方案,以删除空值列中的sysdate
答案 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'=>''