Страница 1 из 1

Как и где правильно делать преобразования даты?

Добавлено: 2014.11.24, 13:59
retrus
Здравствуйте. Подскажите где и как правильно выполнить преобразования даты из базы данных (используется mongodb) для последующего рендеринга в вид?

Необходимо преобразовать MongoDate в dd.mm.yyyy и передать в input. Где правильнее будет делать это преобразование? В контроллере в action или в какому другом месте, например с помощью метода beforeRender.

Re: Как и где правильно делать преобразования даты?

Добавлено: 2014.11.24, 14:04
astronin
добавить в модель обработку, это будет зависеть от того, где именно нужна дата
а вообще, храните дату как integer

Re: Как и где правильно делать преобразования даты?

Добавлено: 2014.11.24, 14:09
retrus
Дата нужна в виде. Думаю не совсем правильно хранит дату в integer если есть специально созданный MongoDate
А если с помощью beforeRender сделать? Немного непонятно как его использовать, почему то он не схватывает у меня данные. Возможно делаю как то не так если не сложно дайте пример.

Re: Как и где правильно делать преобразования даты?

Добавлено: 2014.11.24, 14:25
asset

Re: Как и где правильно делать преобразования даты?

Добавлено: 2014.11.24, 15:51
retrus
Не дорос я еще до behaviors(), хотя если представите код с хорошими комментариями, буду благодарен.

Re: Как и где правильно делать преобразования даты?

Добавлено: 2014.11.24, 17:27
Aibolit

Re: Как и где правильно делать преобразования даты?

Добавлено: 2014.11.25, 07:43
retrus
На мои вопросы почему то ни кто так и не ответил, найти что то похожее в поиске и поставить ссылку могут все, вы предложите свой вариант с примером....

Re: Как и где правильно делать преобразования даты?

Добавлено: 2014.11.25, 10:09
astronin
вы конечно не обижайтесь, но может за вас еще и проект написать? все что необходимо для работы, вам показали и подсказали, займитесь теперь делом

Re: Как и где правильно делать преобразования даты?

Добавлено: 2014.11.25, 11:37
Shappy

Код: Выделить всё

'components' => [
    'formatter' => [
            'dateFormat' => 'dd.MM.yyyy',
            'timeFormat' => 'H:i:s',
            'datetimeFormat' => 'dd.MM.yyyy H:i:s',
            'decimalSeparator' => ',',
            'thousandSeparator' => ' ',
            'currencyCode' => 'RUR',
        ],
...
]
 

Код: Выделить всё

Yii::$app->formatter->asDatetime($model->created_at); 
Я так делаю...

Re: Как и где правильно делать преобразования даты?

Добавлено: 2014.11.25, 14:42
VaNnOrus
retrus писал(а):Дата нужна в виде. Думаю не совсем правильно хранит дату в integer если есть специально созданный MongoDate
Сомнительный аргумент. В MySQL тоже есть datetime и что теперь? Большинство хранит дату в обычном int (11).

Если что-то где-то есть - это совсем не означает, что это "что-то" априори нужно использовать где надо и не надо, даже если не удобно.

Re: Как и где правильно делать преобразования даты?

Добавлено: 2014.11.25, 14:50
Shappy
VaNnOrus а как будешь такой запрос делать с into'ом: Выбрать все записи которые были созданы в четверг. Лучше юзать вещи специально предназначенные для конкретных целей... имхо...

Re: Как и где правильно делать преобразования даты?

Добавлено: 2014.11.25, 14:53
mickgeek
Холивар по поводу формата даты начинался в этой теме.

Re: Как и где правильно делать преобразования даты?

Добавлено: 2014.11.25, 15:12
astronin
дело не в холиваре, просто постоянно появляются вот такие умники, которые не хотят никого слушать, у них же свое имхо есть, пока не наступят на очередные грабли...

Re: Как и где правильно делать преобразования даты?

Добавлено: 2014.11.25, 15:35
VaNnOrus
Shappy писал(а):VaNnOrus а как будешь такой запрос делать с into'ом: Выбрать все записи которые были созданы в четверг. Лучше юзать вещи специально предназначенные для конкретных целей... имхо...
Если речь о последнем четверге, то не вижу проблемы вычислить время.

Если в любой четверг - интересно как это вообще где-угодно можно сделать.

Я ответил на конкретное утверждение конкретным утверждением. Я нигде не сказал "Вам это не нужно, не используйте".

По теме - во вьюхе и преобразовывайте дату в нужный вид.

Re: Как и где правильно делать преобразования даты?

Добавлено: 2014.11.26, 13:38
Shappy
VaNnOrus писал(а):
Shappy писал(а):VaNnOrus а как будешь такой запрос делать с into'ом: Выбрать все записи которые были созданы в четверг. Лучше юзать вещи специально предназначенные для конкретных целей... имхо...
Если речь о последнем четверге, то не вижу проблемы вычислить время.

Если в любой четверг - интересно как это вообще где-угодно можно сделать.

Я ответил на конкретное утверждение конкретным утверждением. Я нигде не сказал "Вам это не нужно, не используйте".

По теме - во вьюхе и преобразовывайте дату в нужный вид.
Используя datetime можно сгруппировать по дням недели... Мне однажды понадобилось выводить гистограмму заявок по дням недели... С интом это невозможно...

Re: Как и где правильно делать преобразования даты?

Добавлено: 2015.01.15, 16:51
VaNnOrus
Shappy писал(а): Используя datetime можно сгруппировать по дням недели... Мне однажды понадобилось выводить гистограмму заявок по дням недели... С интом это невозможно...
Я ж сказал - нужно использовать возможности там где они нужны, а не потому, что они есть, даже если их особенности абсолютно не нужны. Мой комментарий по поводу хранения относился к словам:
retrus писал(а):Думаю не совсем правильно хранит дату в integer если есть специально созданный MongoDate