Yii localization date format indonesia

cara mudah untuk lokalisasi bahasa dengan YII

pada main.

[php]
‘preload’ => array(‘log’),
‘sourceLanguage’ => ‘id’,

[/php]

pada setiap model yang kita punya tambahkan

[php]
protected function afterFind() {

foreach ($this->metadata->tableSchema->columns as $columnName => $column) {

if (!strlen($this->$columnName))
continue;

if ($column->dbType == ‘date’) {
$this->$columnName = Yii::app()->dateFormatter->formatDateTime(
CDateTimeParser::parse($this->$columnName, ‘yyyy-MM-dd’), ‘medium’, null);
} elseif ($column->dbType == ‘datetime’) {
$this->$columnName = Yii::app()->dateFormatter->formatDateTime(
CDateTimeParser::parse($this->$columnName, ‘yyyy-MM-dd hh:mm:ss’));
}
}
return true;
}

[/php]

dan untuk mempermudah lagi gunakan before save

[php]
<pre>protected function beforeSave(){
foreach($this->metadata->tableSchema->columns as $columnName => $column){
if ($column->dbType == ‘date’){
$this->$columnName = date(‘Y-m-d’, CDateTimeParser::parse($this->$columnName, Yii::app()->locale->dateFormat));
}elseif ($column->dbType == ‘datetime’){
$this->$columnName = date(‘Y-m-d H:i:s’, CDateTimeParser::parse($this->$columnName, Yii::app()->locale->dateFormat));
}

}

return true;
}

[/php]

dari pada anda harus merubah satu persatu String
seperti di bawah ini

[php]
date(‘Y-m-d’,now());
[/php]

untuk setiap kali penggunaan date dan

[php]
date(‘Y-m-d’ strtotime($model->tanggal));
[/php]

untuk setiap kali anda posting tanggal maupun datetime format

Leave a Reply