5

アプリケーションにDD/MM / YYYYの形式の日付を受け入れるフォーム入力があります。たとえば、2012年2月5日は2012年5月2日です。

これをActiveRecordを介してデータベースに追加するのに適した形式に変換するための最良の方法は何ですか?

データベースに追加する前に、2012年2月5日を2012年5月2日に変換する簡単な方法はありますか?

4

3 に答える 3

8

これは、ヨーロッパの日付形式(dd / mm / yyyy)を受け入れるためのレールの取得に似ています。

モデルで、setterメソッドを作成します。ここで、「my_date」はデータベースフィールドです。

def my_date=(val)
  Date.strptime(val, "%d/%m/%Y") if val.present?
end
于 2012-06-27T12:34:36.873 に答える
5

この特定の形式については、次のように呼び出すことができますDateTime.parse

DateTime.parse("02/05/2012") # => Thu, 02 May 2012 00:00:00 +0000
于 2012-06-27T12:38:15.530 に答える
3

2年後ですが、それは私も遭遇したものです。これが私の修正です。

あなたの見解では、次を使用します:<%= l article.created_at、format :: euro%>**必ずlを追加してください

次に、/ config / locales/en.ymlに次を追加します。

en:

 time:

  formats:

    euro: "%d/%m/%Y"           

**ユーロ: "%D"を追加して、米国の日付形式で表示することもできます。

ありがとう。

于 2014-07-22T18:50:46.640 に答える