Rails 3 время выхода - PullRequest
       3

Rails 3 время выхода

0 голосов
/ 31 декабря 2010

Сейчас я работаю над выводом фидов, которые я получаю с какого-то сайта. То, что я сейчас делаю, это время, и я хочу, чтобы оно отображалось, может быть, немного по-особенному .. как это ..

today, 14:12
yesterday, 15:34
27/12, 15:24

У меня есть это в моем коде

= news.entry_published.strftime("%d/%m, %H:%M")

Это дает мне ошибку, говоря

undefined method `strftime' for "2010-12-30 19:26:00.000000":String

И это не делает то, что я хочу с днями ..

Редактировать:

- @date = DateTime.strptime(news.entry_published, "%Y-%m-%d %H:%M:%S")
= @date.strftime("%d/%m, %H:%M")

Теперь работает, и дает этот вывод

30/12, 19:26

Но я все еще должен проверить, сегодня ли это, вчера или просто еще один день. Приветствия, Олуф.

Ответы [ 2 ]

1 голос
/ 31 декабря 2010

Как следует из сообщения об ошибке, тип данных для entry_published равен String. Я считаю, что проблема в том, что в базе данных entry_published указан тип данных varchar, верно?

Чтобы решить эту проблему, вы должны сделать одну из следующих вещей: - Измените entry_published тип данных базы данных на дату и время - Сначала преобразуйте эту строку в Date, а затем примените этот метод strftime .

0 голосов
/ 31 декабря 2010

Теперь ваша проблема в том, что вам нужна дата, но у вас действительно есть дата и время.

Должно быть достаточно просто проверить, что дата сегодня делает что-то вроде ...

@date.to_date == Date.today

Вчера ...

@date.to_date == Date.yesterday
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...