как изменить формат времени в рельсах 3.0.1 - PullRequest
4 голосов
/ 02 января 2011

Кто-нибудь может мне помочь с этим?

На мой взгляд, у меня есть: <% = post.time%>

Это отображается на экране для строки: сб 01 января 17:18:00 UTC 2000

В каждом ряду написано "Sat Jan 01" + "UTC 2000"

Как избавиться от него и отображать только время?

Большое спасибо

Ответы [ 2 ]

9 голосов
/ 02 января 2011
<%= post.date.strftime('%H:%M:%S') %>

С полным синтаксисом синтаксиса можно ознакомиться здесь . Например:

% S - секунда минуты (00..60)

% H - час дня, 24-часовые часы (00..23)

. , , и т. д.

3 голосов
/ 02 января 2011

попробуйте что-то вроде этого

  datetime = DateTime.civil(2007, 12, 4, 0, 0, 0, 0)   # => Tue, 04 Dec 2007 00:00:00 +0000

  datetime.to_formatted_s(:db)            # => "2007-12-04 00:00:00"
  datetime.to_s(:db)                      # => "2007-12-04 00:00:00"
  datetime.to_s(:number)                  # => "20071204000000"
  datetime.to_formatted_s(:short)         # => "04 Dec 00:00"
  datetime.to_formatted_s(:long)          # => "December 04, 2007 00:00"
  datetime.to_formatted_s(:long_ordinal)  # => "December 4th, 2007 00:00"
  datetime.to_formatted_s(:rfc822)        # => "Tue, 04 Dec 2007 00:00:00 +0000"

Также вы можете добавить свой собственный формат, как это:

  # config/initializers/time_formats.rb
  Time::DATE_FORMATS[:month_and_year] = "%B %Y"
  Time::DATE_FORMATS[:short_ordinal] = lambda { |time| time.strftime("%B #{time.day.ordinalize}") }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...