Credo che ci sia modo più elegante per il formato della data (o qualsiasi altra cosa) rispetto a quello proposto in altre risposte. CGridView
utilizza la proprietà formatter per specificare l'applicazione component to format values. È format
per impostazione predefinita.
Quindi si dovrebbe configurare format
componente nel file di configurazione di un'applicazione come questa:
'components' => array(
...
'format' => array(
'dateFormat' => 'd-m-Y'
)
)
Se work_date
è già timestamp Unix allora è sufficiente per descrivere la colonna in CGridView
come segue:
array(
'name' => 'work_date',
'type' => 'date'
)
Se work_date
è come nella domanda quindi l'array della colonna:
array(
'name' => 'work_date',
'type' => 'date',
'value' => 'strtotime($data->work_date)'
)
Se uno ha campo personalizzato al formato che non è supportato da CFormatter allora è facile aggiungere la tua typecustom
estendendo CFormatter
:
class MyFormatter extends CFormatter
{
public function formatCustom($value)
{
// format $value parameter, i.e. make date conversion like in the question:
return date("d-m-Y", strtotime($value));
}
}
Poi la configurazione del componente formato è:
'components' => array(
...
'format' => array(
'class' => 'MyFormatter'
)
)
E la colonna è descritta in questo modo:
array(
'name' => 'work_date',
'type' => 'custom'
)
In questo modo non è necessario preoccuparsi dell'espressione PHP value ogni volta che si desidera formattare il campo dello stesso tipo.
Sarebbe meglio utilizzare Yii fornito strumenti. Per questo compito esiste [CDateFormatter] (http://www.yiiframework.com/doc/api/1.1/CDateFormatter # format-dettaglio). – sucotronic
Grazie, funziona. Ho appena modificato la data 'valore' => '("dmY", strto ... – Kiran
@sucotronic, avevo attualmente utilizzato il codice php per la visualizzazione della data. non riesce a trovare il modo di usare CDateFormatter, puoi per favore dammi un codice di esempio per questo ??? Grazie in anticipo – Kiran