如何使用Ruby on Rails将日期格式09-feb-73转换为02/09/1973(mm / dd / yyyy)

时间:2011-08-01 12:25:29

标签: ruby-on-rails ruby datetime

如何使用Ruby on Rails将日期格式09-feb-73转换为02/09/1973(mm / dd / yyyy)?

4 个答案:

答案 0 :(得分:4)

Valid Ruby datetime formats

Date.strptime("09-feb-73", "%d-%b-%y").strftime("%m/%d/%Y")

请注意strptime是Rails的一部分。这些是使用的相关格式:

  

%b - 缩写的月份名称(“Jan”)

     

%d - 每月的某一天(01..31)

     

%m - 一年中的某个月(01..12)

     

%y - 没有世纪的年份(00..99)

     

%Y - 世纪年

答案 1 :(得分:1)

您可以使用Date.parseDate#strftime执行此操作:

d = Date.parse('09-feb-73').strftime('%m/%d/%Y')
# "02/09/1973"

您也可以使用Date.strptime代替Date.parse

d = Date.strptime('09-feb-73', '%d-%b-%y').strftime('%m/%d/%Y')
# "02/09/1973"

strptime的优势在于您可以指定格式,而不是将其留给parse进行猜测。

答案 2 :(得分:0)

Date.strptime(“09-feb-73”,“%d-%b-%y”)。strftime(“%m /%d /%Y”)
日期格式:http://snippets.dzone.com/posts/show/2255

答案 3 :(得分:0)

如果您在视图中需要这个,我建议使用本地化,因为您可以根据用户的本地设置轻松更改行为并保持控制器代码整洁(为什么控制器需要关注日期格式?)。例如:

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


# view file
<%=l Time.now, :format => :short %>

有关rails本地化的详细信息,请参阅Rails Guide