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

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

有效的Ruby日期时间格式

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 – 与世纪的年份

你可以用Date.parseDate#strftime来做到这Date.parse

 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猜测。

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

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

 # config/locales/en.yml en: time: formats: short: "%m/%d/%Y" # view file <%=l Time.now, :format => :short %> 

有关rails本地化的更多信息,请参阅Rails指南 。