Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Perl: Общие вопросы > DBIx::Class, получить дату unix time |
Автор: Logo 27.5.2010, 11:15 |
Есть объект DBIx::Class::Row, одна из колонок которого имеет MySQL тип TIMESTAMP. Метод ->get_column('column_name') и ->column_name возвращают дату в строковом представлении, как получить ее в unix time? |
Автор: klem4 27.5.2010, 11:51 |
вариантов масса, POSIX::mktime например. |
Автор: Logo 27.5.2010, 12:36 |
Брать дату, изначально unix time, забирать в виде строки (формат которой, кстати, тоже надо выяснить, от чего зависит), разбирать регулярками, и mktime собирать обратно в unix time? Неужели нет более прямого метода? |
Автор: klem4 27.5.2010, 14:14 |
с DBIx не работал, но сильно сомневаюсь, что при выборке из базы, наткнувшись на unixtime, по факту int(10) он зачемто?? автоматически преобразует его к DATE, это просто бред. Смотрите в сторону того момента, где происходит запрос, и уберите там преобразование FROM_UNIXTIME. Думаю в этом дело. |
Автор: Logo 27.5.2010, 14:39 |
Он выводит дату, как и сам MySQL в запросе SELECT timestamp_column. MySQL выедет текстовое представление даты. Чтобы вывести ее числом, в MySQL нужно сделать SELECT UNIX_TIMESTAMP(timestamp_column), а вот как взять дату числом в объекте DBIx::Class::Row? |
Автор: mvsgt 27.5.2010, 17:28 |
DBIx::Class::InflateColumn::DateTime попробовать |