任何人都可以帮助我吗?
在我看来,我有: <%= post.time%>
它显示在行的屏幕上: 星期六01月17日17:18:00 UTC 2000
在每一行中都写着“Sat Jan 01”+“UTC 2000”
如何摆脱它并只显示时间?
非常感谢
答案 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}") }