簡體   English   中英

Rails - 格式化 date_field

[英]Rails - format date_field

如何設置 date_field 的日期格式?

我得到了以下表格:

<%= form_for([@user, @vehicle]) do |f| %>
    <%= f.label :name, "Vehicle name" %>
    <%= f.text_field :name, class: 'form-control' %>
    <%= f.label :matriculation_date %>
    <%= f.date_field :matriculation_date, class: 'form-control' %>
    <%= f.submit "Add", class: "btn btn-primary" %>
<% end %>

這是為日期字段呈現以下 HTML:

<input class="form-control" type="date" name="vehicle[matriculation_date]" id="vehicle_matriculation_date">

日期字段接受以下格式的輸入: mm/dd/yyyy 我希望它接受像dd/mm/yyyy這樣的格式。

我試圖編輯 it.yml 文件但沒有任何運氣。

it:
  date:
      formats:
        default: ! '%d/%m/%Y'

  datetime:
      formats:
        default: ! '%d/%m/%Y %H:%M'

有什么線索嗎? 謝謝

編輯

提出的解決方案都沒有解決我的問題,所以我認為我的問題不是很清楚。 我想要的只是設置 date_field 如何提示用戶的樣式(有關更多詳細信息,請參見圖像)。 目前表單顯示mm/dd/yyyy ,我希望它顯示dd/mm/yyyy

不確定它可能是有用的信息,但我使用 Bootstrap 進行樣式設置。

在此處輸入圖片說明

你可以這樣做:

<%= f.date_field :matriculation_date, as: :date, value: f.object.try(:strftime,"%m/%d/%Y"), class: 'form-control' %> 

你可以試試這個

@yourdate.strftime("%m/%d/%Y")

這有效!

您可以使用strftime()轉換日期strftime()

@date.strftime("%d/%m/%Y")

它會根據您的需要將您的日期轉換為dd/mm/yyyy格式。 在這里,我向您展示一個示例:

t = Time.now
=> 2016-04-28 16:09:42 -0700
>> t.strftime("%d/%m/%Y")
=> "28/04/2016"

有關更多strftime()格式選項,您可以查看此http://apidock.com/ruby/DateTime/strftime


編輯:

閱讀您的評論和屏幕截圖后,我得到了如下解決方案。

你也可以在你的 gemfile.rb 上使用這個 gem: https : //github.com/Nerian/bootstrap-datepicker-rails

gem 'bootstrap-datepicker-rails'

然后捆綁安裝並重新啟動rails服務器

然后將此行添加到app/assets/stylesheets/application.css

*= require bootstrap-datepicker

並將這一行添加到app/assets/javascripts/application.js

//= require bootstrap-datepicker

並在您的表單中使用它:

<%= f.date_field :matriculation_date, :id => "datepicker" %>

並在表單的同一視圖中添加此 javascript

<script>
$('#datepicker').datepicker({format: 'dd/mm/yyyy'});
</script>

我的回答基於@Dharmesh_Rupani 的回答

按照步驟添加gem 'bootstrap-datepicker-rails'

我對表格做了兩個小改動

<%= f.text_field : matriculation_date, :placeholder => 'dd/mm/yyyy', class: 'form-control datepicker' %>

第一件事是我將字段的類型更改為文本,因為當我實現時我有兩個日歷,一個來自 date_field,另一個來自新 gem

我更改的另一件事是我使用:class而不是:id ,因為可能會發生您有多個日期字段

最后,你應該在視圖中添加這個

<script>
  $( document ).ready(function() {
    $('.datepicker').datepicker({format: 'dd/mm/yyyy'});
  });
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM