Problem z formatem dat

Cześć!

Mam otóż taki problem.

W bazie danych mam pole DATE, w którym oczywiście MySQL przechowuje to w formacie ‘yyyy-mm-dd’, natomiast ja chcę wyświetlać ją użytkownikom w postaci ‘dd-mm-yyyy’.

Jak to zrobić by wyświetlać to tak jak chcę, ale i zapisywać edytowaną w takim formacie jak mówię?

Skorzystaj z obiektu DateFormatter. Ten kod powinien Ci pomóc:


Yii::app()->dateFormatter->format("d MMMM yyyy HH:mm", $model->created_at)

Wzory dat (pierwszy argyment funkcji format) znajdziesz tutaj:

http://www.unicode.org/reports/tr35/#Date_Format_Patterns

Drugi argument to oczywiście data z bazy.

Co do zapisywania w takim formacie to polecam Ci skorzystanie z widgeta CJuiDatePicker który ma opcję wyboru formatu daty a do bazy zapisuje tak jak trzeba - czyli w DATETIME.

Gdybyś z jakiś powodów nie chciał skorzystać z CJuiDatePickera, pamiętaj, że zawsze możesz pokombinować z CDateFormatterem oraz CDateTimeParserem i parsować wartość w metodzie beforeSave rekordu aktywnego do tej poprawnej w bazie danych.