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



如何使用Ruby on Rails将格式为09-02-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:

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

日期。strptime("09 - 2月- 73","% d - y % b - %").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指南

相关内容

  • 没有找到相关文章

最新更新