Как мне отформатировать значения даты и времени в более удобные форматы? - PullRequest
4 голосов
/ 05 декабря 2011

Я довольно новичок в Ruby on Rails.Я создал блог с использованием SQLite3, потому что не могу установить MySQL и хотел бы отобразить дату создания рядом с заголовком.

Дата создания создается с использованием метки времени.Поскольку я новичок в RoR, я создал блог, используя generate scaffold, поэтому я не уверен на 100%, как это все работает.

В тот момент, когда я отображаю поле created_at, мне даютбезобразный формат:

2011-12-05 14:11:10 UTC

Есть ли способ изменить это так, чтобы он отображал DD-MM-YYYY HH:MM или, предпочтительно, сказать "posted 30 days ago".Я понимаю, что последний будет намного сложнее.

Ответы [ 2 ]

9 голосов
/ 05 декабря 2011

Я думаю, что вы ищете strftime - рубиновая документация здесь .

Пример:

irb(main):001:0> a = Time.now
irb(main):002:0> a.strftime("%d-%m-%Y %H:%M")
=> "05-12-2011 15:08"
3 голосов
/ 05 декабря 2011

Прежде всего: вам придется установить что-то отличное от SQLite (я рекомендую PostgreSQL, а не MySQL).SQLite не подходит для работы, и вы не хотите, чтобы ваши серверы разработки и БД работали по-разному.

На ваш вопрос: в Ruby и Rails есть много методов форматирования даты.to_s может делать то, что вы хотите, или есть такие вещи, как ActionView::Helpers::DateHelper.time_ago_in_words.

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