【问题标题】:How do I change the date format? (YII)如何更改日期格式? (二)
【发布时间】:2012-10-28 02:02:46
【问题描述】:

我正在使用 YII 框架...并且我正在使用以下代码显示我的日期:

<?php echo $classified->created_date ?>

问题是它显示如下: 2012-11-04 09:34:03

如何删除时间而只显示日期?

如果可能的话,也许可以这样显示: 2012 年 1 月 20 日(月份缩短)

【问题讨论】:

  • 你用什么来生成日期时间?在你回应之前
  • 也可以通过设置SET @@SESSION.DATETIME_FORMAT = '%d %b %Y';来设置MySQL返回日期格式,另见:dev.mysql.com/doc/refman/5.5/en/…

标签: php date yii format


【解决方案1】:

你可以使用 Yii 的CFormatter 类:

echo Yii::app()->format->date(strtotime($classified->created_date));

您可以将 CFormatter 扩展为您自己的类,然后根据需要格式化日期,您只需在主配置文件中包含您的新组件类。

另一个选择是使用 Yii 的日期解析器和 dateFormatter:

echo Yii::app()->dateFormatter->formatDateTime(CDateTimeParser::parse($classified->create_date, 'yyyy-MM-dd'),'medium',null);

有很多方法可以做到这一点...如果您愿意,可以使用标准 PHP。唯一的缺点是,如果您决定更改格式,您可能必须更改许多不同的视图:

echo date("m/d/Y",strtotime($classified->create_date));

【讨论】:

    【解决方案2】:
    Yii::app()->dateFormatter->formatDateTime($classified->created_date, 'medium', false);
    

    更多关于日期格式的例子看这里: http://www.yiiplayground.com/index.php?r=InternationalizationModule/datetime/basic

    【讨论】:

      【解决方案3】:

      这是我解决日期问题的方法,日期格式化程序对我不起作用

      <div class="row">
          <?php echo $form->labelEx($model,'fecha_inicio'); ?>
          <?php //echo $form->textField($model,'fecha_inicio'); 
          $this->widget('zii.widgets.jui.CJuiDatePicker',array(
              'name'=>'Eventos[fecha_inicio]',
              // additional javascript options for the date picker plugin
              'options'=>array(
                  'showAnim'=>'fold',
                  'dateFormat' => 'yy-mm-dd',
                  'value' => 'yy-mm-dd',
              ),
              'htmlOptions'=>array(
                  'placeholder'=>'Fecha',
              ),
          ));
          ?>
          <?php echo $form->error($model,'fecha_inicio'); ?>
      </div>
      

      【讨论】:

        【解决方案4】:

        使用 php 日期函数。日期(格式,epoch_timestamp)

        请看这里http://php.net/manual/en/function.date.php

        【讨论】:

        • 嘿,我试过了: created_date("D, d MY", $timestamp) ?> 但这没有用......我做错了什么吗?
        • PHPs Date 函数只接受整数时间戳来格式化。
        • 整数时间戳就是自纪元 (1/1/1970) 以来的秒数
        【解决方案5】:

        当然可以。您应该使用以下代码:

        Yii::app()->dateFormatter->format("dd MMM yyyy", $classified->create_data)
        

        在 2012 年 1 月 20 日更改格式默认设置表格 2012-11-04 09:34:03

        文档/api的链接:

        format

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-12-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-12-12
          相关资源
          最近更新 更多