Подтвердить что ты не робот

Как форматировать дату и время в рельсах?

В моем представлении Rails у меня есть код ниже, отображающий дату и время.

<%= link_to timeslot.opening, [@place, timeslot] %> 

Результат этой строки ниже:

2013-02-02 01:00:00 UTC 

Как изменить это, чтобы он отображался как:

2/2/13: X:00 PST
4b9b3361

Ответ 1

Использовать ruby ​​ strftime() по датам/датам:

<%= link_to timeslot.opening.strftime("%Y %m %d"), [@place, timeslot] %>

Посмотрите документацию, чтобы узнать, как работает форматирование.

Ответ 2

Для этого вы должны использовать помощник.

Если вы хотите конвертировать из UTC в PST, вы можете использовать метод in_time_zone

def convert_time(datetime)
  time = Time.parse(datetime).in_time_zone("Pacific Time (US & Canada)")
  time.strftime("%-d/%-m/%y: %H:%M %Z")
end

<%= link_to convert_time(timeslot.opening), [@place, timeslot] %>

Ответ 4

чтобы получить точное форматирование даты, которое вы ищете в вашем примере, используйте следующую строку формата strftime "%-d/%-m/%y: %k:00 PST"

Однако это может быть не совсем то, что вы хотите. Пожалуйста, уточните в своем вопросе (а), что вы хотите делать с полем времени (например, вы всегда хотите отображать время в час? X: 00) и (b) вы всегда хотите сообщить время PST или хотите распечатать фактический часовой пояс или хотите преобразовать в PST??