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

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
retrus
Сообщения: 24
Зарегистрирован: 2014.11.24, 13:45

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

Сообщение retrus » 2014.11.24, 13:59

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

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

astronin
Сообщения: 606
Зарегистрирован: 2012.01.30, 17:46

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

Сообщение astronin » 2014.11.24, 14:04

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

retrus
Сообщения: 24
Зарегистрирован: 2014.11.24, 13:45

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

Сообщение retrus » 2014.11.24, 14:09

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


retrus
Сообщения: 24
Зарегистрирован: 2014.11.24, 13:45

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

Сообщение retrus » 2014.11.24, 15:51

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


retrus
Сообщения: 24
Зарегистрирован: 2014.11.24, 13:45

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

Сообщение retrus » 2014.11.25, 07:43

На мои вопросы почему то ни кто так и не ответил, найти что то похожее в поиске и поставить ссылку могут все, вы предложите свой вариант с примером....

astronin
Сообщения: 606
Зарегистрирован: 2012.01.30, 17:46

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

Сообщение astronin » 2014.11.25, 10:09

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

Shappy
Сообщения: 86
Зарегистрирован: 2013.09.19, 12:31

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

Сообщение Shappy » 2014.11.25, 11:37

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

'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); 
Я так делаю...

Аватара пользователя
VaNnOrus
Сообщения: 96
Зарегистрирован: 2014.10.09, 12:50

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

Сообщение VaNnOrus » 2014.11.25, 14:42

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

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

Shappy
Сообщения: 86
Зарегистрирован: 2013.09.19, 12:31

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

Сообщение Shappy » 2014.11.25, 14:50

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

mickgeek
Сообщения: 957
Зарегистрирован: 2014.05.31, 20:50
Откуда: Санкт-Петербург
Контактная информация:

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

Сообщение mickgeek » 2014.11.25, 14:53

Холивар по поводу формата даты начинался в этой теме.

astronin
Сообщения: 606
Зарегистрирован: 2012.01.30, 17:46

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

Сообщение astronin » 2014.11.25, 15:12

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

Аватара пользователя
VaNnOrus
Сообщения: 96
Зарегистрирован: 2014.10.09, 12:50

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

Сообщение VaNnOrus » 2014.11.25, 15:35

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

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

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

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

Shappy
Сообщения: 86
Зарегистрирован: 2013.09.19, 12:31

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

Сообщение Shappy » 2014.11.26, 13:38

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

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

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

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

Аватара пользователя
VaNnOrus
Сообщения: 96
Зарегистрирован: 2014.10.09, 12:50

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

Сообщение VaNnOrus » 2015.01.15, 16:51

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

Ответить