如何使用Ruby on Rails将日期格式09-feb-73转换为02/09/1973(mm / dd / yyyy)?
答案 0 :(得分:4)
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.parse
和Date#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。