[Resolvido ] Formatação De Datas

Queria uma ajuda com os campos de data, formatação para o padrão brasileiro.

Li o seguinte post:

http://www.yiiframework.com/forum/index.php/topic/3238-problema-trabalhando-com-datas/

mas não compreendi onde cada função se encaixa. E onde chamo as funções beforeSave e afterFind

No seu model cria essas duas funções




public function beforeSave() {

    if ($this->isNewRecord) {

        $this->data = date('Y-m-d'); //Caso deseje setar a data do sistema

        $this->data = date('Y-m-d', CDateTimeParser::parse($this->data, Yii::app()->locale->dateFormat)); //Caso deseje que o usuário insira a data manualmente

    }

    return parent::beforeSave();

}


function afterFind() {

    $this->data = Yii::app()->dateFormatter->formatDateTime(

            CDateTimeParser::parse($this->data, 'yyyy-MM-dd'), 'medium', null);

    return true;

}



E pronto!!!!!!!!!!!!!!!!!

Acrescente essa regra no components




	'components'=>array(


		...


		'format' => array(

			'datetimeFormat' => 'd/m/Y H:i:s',

			'dateFormat' => 'd/m/Y',

			'timeFormat' => 'H:i:s',

			'numberFormat' => array(

				'decimals' => '2',

				'decimalSeparator' => ',',

				'thousandSeparator' => '.',

			)

		),

                ...



Depois é só formatar assim:




Yii::app()->format->number($noticia->data);



Não seria?


Yii::app()->format->date($noticia->data);

Mas no formato apresentado pelo Adriano mendes ele sempre vai utilizar a data no formato dd/mm/yyyy. E na hora de salvar/alterar?

O Mysql utiliza o padrão yyyy-mm-dd não posso utilizar o format-date()

Cara, sem duvidas a melhor solução que eu encontrei foi a extensão do colega Ricardo Grana

http://www.yiiframework.com/extension/i18n-datetime-behavior/

bem facinho de implementar.