2012-11-07 83 views
4

我使用Yii框架......,我用下面的代碼顯示我的約會:如何更改日期格式? (誼)

<?php echo $classified->created_date ?> 

問題是,它表明這樣的: 2012年11月4日09: 34:03

如何刪除時間並顯示日期?

也許如果可能的話顯示像這樣: 2012 01月20日(含一個月縮短)

+0

你用什麼來生成日期時間?在你回顯之前 – Orlymee

+0

你也可以通過設置'SET @@ SESSION.DATETIME_FORMAT ='%d%b%Y';'來設置MySQL的返回日期格式,參見:http://dev.mysql.com/doc /refman/5.5/en/date-and-time-functions.html#function_date-format – Sergey

回答

5

您可以使用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)); 
0

使用PHP日期函數。日期(格式,epoch_timestamp)

看到這裏http://php.net/manual/en/function.date.php

+0

嘿,我試過了:<?php echo $ classified-> created_date(「D,d MY」,$ timestamp)?>但是沒有工作......我做錯了什麼? – Debrah

+2

PHP日期函數只接受整數時間戳進行格式化。 – Paystey

+0

你是什麼意思的「整數時間戳」?謝謝你的答覆的方式.... – Debrah

0

當然您可以。你應該用下面這段代碼:

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

這改變20格式的默認設置形式,2012年11月4日9時34分03秒2012

文檔鏈接/ API揚:

format

0

,這是我對日問題的解決,日期格式化器不會爲我工作

<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>