Как я могу / должен обрабатывать RoR datetime в поле «type» / «field»? - PullRequest
2 голосов
/ 14 января 2012

Я использую Rails 3.1.0, и я хотел бы правильно отображать дату и время.То есть я храню данные RoR datetime ( UTC ), и когда я вывожу это как @user.last_sign_in_at, я получаю 2012-01-14 00:58:18 UTC.Однако я хотел бы выводить даты и время отдельно ...

Что-то вроде Day: 2012-01-14 и Time: 00:58:18.

Как я могу "извлечь" дату и время из RoRdatetime "тип" / "поле"?Вообще говоря, как я могу / должен справиться с этим?

Ответы [ 4 ]

3 голосов
/ 14 января 2012

Вы должны изучить использование метода strftime в Ruby:

@user.last_sign_in_at.strftime("%l:%M%p") # => 9:37AM

@user.last_sign_in_at.strftime("%m/%d/%Y") # => 01/14/2012
1 голос
/ 14 января 2012

Также стоит отметить помощников:

time_ago_in_words(3.minutes.from_now)       # => 3 minutes
time_ago_in_words(Time.now - 15.hours)      # => about 15 hours
time_ago_in_words(Time.now)                 # => less than a minute

http://api.rubyonrails.org/classes/ActionView/Helpers/DateHelper.html

1 голос
/ 14 января 2012

Вы также можете расширить метод времени to_formatted_s, добавив что-то вроде этого в ваши config / initializers:

Time::DATE_FORMATS[:verbose] = "%A, %B %d, %Y @ %I:%M %p"

Таким образом, вам не нужно запоминать конкретные строки форматирования.Тогда на ваш взгляд:

@user.last_sign_in_at.to_formatted_s(:verbose)

А вот ссылка на rails по умолчанию .

0 голосов
/ 14 января 2012

добавление дополнительной ссылки на ответ @iWasRobbed ::

@user.last_sign_in_at.strftime, как указано выше, наряду с другими вариантами, которые можно выбрать и посмотреть здесь

Вы также можете проверить это драгоценный камень Райаном Биггом.Здесь есть много вариантов отображения времени и даты в различных форматах.

И вы можете использовать some_date.to_s(:db) для вывода в формате для вашей базы данных.

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