アプリケーションにDD/MM / YYYYの形式の日付を受け入れるフォーム入力があります。たとえば、2012年2月5日は2012年5月2日です。
これをActiveRecordを介してデータベースに追加するのに適した形式に変換するための最良の方法は何ですか?
データベースに追加する前に、2012年2月5日を2012年5月2日に変換する簡単な方法はありますか?
アプリケーションにDD/MM / YYYYの形式の日付を受け入れるフォーム入力があります。たとえば、2012年2月5日は2012年5月2日です。
これをActiveRecordを介してデータベースに追加するのに適した形式に変換するための最良の方法は何ですか?
データベースに追加する前に、2012年2月5日を2012年5月2日に変換する簡単な方法はありますか?
これは、ヨーロッパの日付形式(dd / mm / yyyy)を受け入れるためのレールの取得に似ています。
モデルで、setterメソッドを作成します。ここで、「my_date」はデータベースフィールドです。
def my_date=(val)
Date.strptime(val, "%d/%m/%Y") if val.present?
end
この特定の形式については、次のように呼び出すことができますDateTime.parse
。
DateTime.parse("02/05/2012") # => Thu, 02 May 2012 00:00:00 +0000
2年後ですが、それは私も遭遇したものです。これが私の修正です。
あなたの見解では、次を使用します:<%= l article.created_at、format :: euro%>**必ずlを追加してください
次に、/ config / locales/en.ymlに次を追加します。
en:
time:
formats:
euro: "%d/%m/%Y"
**ユーロ: "%D"を追加して、米国の日付形式で表示することもできます。
ありがとう。