Как правильно извлечь время только из объекта datetime (post.created_at
, если быть точным) с/без влияния TimeZone
? Как извлечь значения day
, month
и year
? Как извлечь day/month/year
через пользовательский шаблон (возможно ли это)?
Работа с datetime в Rails
Ответ 1
Время в формате строки:
post.created_at.strftime("FORMAT STRING HERE")
# Without the influence of time-zone: I take it that you want UTC
post.created_at.utc.strftime("FORMAT STRING HERE")
Ссылка для документации strftime
: http://ruby-doc.org/core/classes/Time.html#method-i-strftime
Для получения значений часов, минут и секунд:
post.created_at.hour
post.created_at.min
post.created_at.sec
Ответ 2
<%= l(@issue.created_at, format: :your_format) %>
в локали YAML (app/config/locale/country_id.yml) вы должны объявить
time:
formats:
your_format: '%d %b. %Y'
your_another_format: '%I:%M'
Форматирование даты должно быть объявлено внутри вашего файла определения i18n YAML для легкой настройки, а другой формат даты можно найти здесь.