如何将日期格式从yyyy / mm / dd更改为dd / mm / yyyy Ruby on Rails

时间:2012-12-07 10:57:20

标签: ruby-on-rails ruby date

<div class="field2">
<%= f.label :shod_date, "Date of last shoeing" %><br />
<%= f.date_select :shod_date %>

有人可以告诉我要添加哪些代码以及我应该添加它们的位置。我应该运行哪些命令。此外,我希望第一年的年份比2007年更早,因为开始年份从2007年开始到2012年结束

谢谢。

3 个答案:

答案 0 :(得分:1)

试试这个:

<%= f.date_select :shod_date,
    use_month_numbers: true,
    order: [:day, :month, :year],
    start_year: 2007,
    date_separator: "/" %>

答案 1 :(得分:1)

使用shod_date.strftime(“%d-%m-%Y”)

答案 2 :(得分:1)

您可以使用internationalisation (I18n)

更改日期格式

只需在config/locales/en.yml

中添加(或更改)此内容即可
en:
  date:
    order:
      - :day
      - :month
      - :year

请注意,此示例适用于英语(en)语言环境,您应该为您的语言替换en

使用i18n,您的所有date_select都将使用此格式设置。如果您只想在此点更改订单,请使用属性order: [:day, :month, :year]作为@ hirata-yasuyuki sugested。

要仅显示2007年与当前年份之间的年份,您可以设置两个属性: start_year end_year date_select帮助。

您的代码展示如下:

<%= f.date_select :shod_date, start_year: 2007, end_year: Time.now.year %>