2013-07-29 3 views
0

У меня есть несколько раз, что я показываю на моем взглядеИзменить рельсы времени форматирования

<td><%= something.foo_time %></td> 
<td><%= something.bar_time %></td> 

Сейчас они показывают, как

2000-01-01 05:24:00 UTC 
2000-01-01 15:24:00 UTC 

Но так как я не собирание даты, я хочу просто показать время, но в стиле AM/PM без года и часового пояса.

Я попытался с помощью STRF форматированием http://www.ruby-doc.org/core-2.0/Time.html#method-i-strftime но он не работает

<td><%= something.foo_time("%I:%M%p") %></td> 

Я также попытался

<td><%= something.foo_time "%H:%M:" %></td> 

И это не сработало.

Как я могу перейти от

2000-01-01 15:24:00 UTC 

Для

3:24 PM 

ответ

1

вы всегда можете создать помощника

module ApplicationHelper 
    def display_date(input_date) 
    if !input_date 
     return '' 
    end 

    return input_date.strftime("%d/%m/%Y") 
    end 

end 

, а затем позвонить на ваш взгляд, как <%= display_date time_var %>
мой пример Безразлично 't форматируйте дату в стиле AM/PM, но вы можете легко найти как сделать это на документации, как ссылку Вы отправили: t.strftime("at %I:%M%p") #=> "at 08:37AM"

мой метод может быть изменен на return input_date.strftime("%I:%M%p") по ссылке

1

Самый простой подход был бы сделать это:

something.foo_time.strftime("%I:%M%p") 

Однако я бы посмотрел DATE_FORMATS Rails по следующему URL-адресу и либо использовал по умолчанию, если он существует, либо создаст свой собственный, добавив его через инициализатор.

http://api.rubyonrails.org/classes/Time.html

Тогда вы можете сделать это:

something.foo_time.to_s(:time) 
Смежные вопросы