【问题标题】:Date Format issue in CGridView - YII FrameworkCGridView 中的日期格式问题 - YII 框架
【发布时间】:2013-12-20 11:48:30
【问题描述】:

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

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

我在 CGridView 中获取日期格式的列,但空值在列中显示 sysdate。请看附图,

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

【问题讨论】:

    标签: php yii cgridview


    【解决方案1】:

    好吧,strtotime(null) 将返回 falseKami 显然是错误的)。

    问题在于 Yii 日期格式化程序:Yii::app()->dateFormatter->format("d/M/y", false) 将返回当前日期。

    你应该简单地在你的模型中创建一个吸气剂:

    function getCreatedDate()
    {
      if ($this->created===null)
        return;
    
      return Yii::app()->dateFormatter->format("d/M/y", $this->created);
    }
    

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

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

    【讨论】:

      【解决方案2】:

      使用CGridView的nullDisplay属性并设置:

      'nullDisplay'=>''
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-06-18
        • 1970-01-01
        • 2015-03-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-29
        相关资源
        最近更新 更多