在rails上的ruby中,我如何将ActiveSupport :: TimeWithZone中的时间转换为Month,Date,Year?

时间:2015-05-11 07:16:11

标签: ruby-on-rails ruby

在ruby on rails上,我怎样才能将ActiveSupport :: TimeWithZone中的时间转换为Month,Date,Year。 例如,我有以下时间:

Fri, 08 May 2015 22:54:31 UTC +00:00

我需要的是:

05/08/2014

5 个答案:

答案 0 :(得分:3)

像这样使用 strftime

 > t = Time.now
 #=> 2015-05-11 12:47:32 +0530 
 > t.strftime('%m/%d/%Y')
 #=> "05/11/2015" 

答案 1 :(得分:3)

irb(main):010:0> DateTime.parse("Fri, 08 May 2015 22:54:31 UTC +00:00").strftime("%d/%m/%Y")
=> "08/05/2015"

答案 2 :(得分:0)

使用此to_s方法的to_formatted_s方法别名。

your_var.to_s('%m/%d/%Y')

答案 3 :(得分:0)

访问Strftime Rails api doc

t = Time.now                        #=> 2007-11-19 08:37:48 -0600
t.strftime("Printed on %m/%d/%Y")   #=> "Printed on 11/19/2007"
t.strftime("at %I:%M%p")            #=> "at 08:37AM"

答案 4 :(得分:0)

考虑到上述所有问题并且正在完成工作.I18n有一个专门的API。

  

这里描述了rails方式http://guides.rubyonrails.org/i18n.html

3.3添加日期/时间格式

<p><%= l Time.now, format: :short %></p>

# en.yml
en:
  time:
    formats:
      short: "%m/%d/%Y"

这有助于保持事物清洁,不受你的意见影响。

希望有所帮助