如何在rails 3.0.1中更改时间格式

时间:2011-01-02 12:31:14

标签: datetime ruby-on-rails-3

任何人都可以帮助我吗?

在我看来,我有: <%= post.time%>

它显示在行的屏幕上: 星期六01月17日17:18:00 UTC 2000

在每一行中都写着“Sat Jan 01”+“UTC 2000”

如何摆脱它并只显示时间?

非常感谢

2 个答案:

答案 0 :(得分:9)

<%= post.date.strftime('%H:%M:%S') %>

您可以阅读完整格式语法here的参考。例如:

%S - 秒钟(00..60)

%H - 一天中的小时,24小时制(00..23)

。 。 。等等。

答案 1 :(得分:3)

尝试这样的事情

  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}") }