2012-05-08 21 views
1

謝罪タイトルが明確でない場合、私はこれを明確に説明する方法が本当にわかりません。テキスト日付をRailsのスコープ付き日付に変換するにはどうすればよいですか?

Railsアプリでは、サードパーティプロバイダのAPIからユーザーのデータを取得しています。属性の1つはユーザーの誕生日です。

私は自分のデータベースにハッシュデータを保存していますが、特定の状況では、ビューにユーザーの誕生日を表示する必要があります。

問題は、誕生日が日付としてフォーマットされていないことです。ハッシュ内では、形式はmm/dd/yyyyです。これは、私の通常の日付スコープのフォーマットは、それで動作しないことを意味します。

<%= @user.hashed_data["info"]["birthday"] %> 

私はローカライズされた日付形式を表示できるようにこれを処理するための最良/最も効率的な方法は何ですが、次のように私はハッシュ化されたデータ列から誕生日を抽出していますことを考えると?

/シンボルで分割し、結果の文字列を日付に再結合する必要がありますか?それとも、私はこれを複雑にしていますか?

ありがとうございます。

+0

あなたは/あなたがサードパーティのAPIからそれを受け取り、としてあなたのDBに格納する時点で適切な文字列を日付に変換考えることができだろうそのような? – Russell

+0

はそれを考慮しますが、完全なトークンを保存していますので、この属性を抽出して操作し、それを戻すことはやや複雑かもしれません。 jdoeの解決策がそのトリックです。 –

答えて

1

試してみてください。

Date.strptime('01/31/2011', '%m/%d/%Y') 
# => #<Date: 2011-01-31 (4911185/2,0,2299161)> 
+0

nice!仕事は大事です。私にこれを表示してくれてありがとう、非常に便利です –

0

平文を日付または日時に変換する最も簡単な方法は、chronic gemを使用することです。

慢性パーサーに渡すことができる非常に有用なパラメーターは、:endian_precedenceです。詳細はmy answer hereを参照してください。

よろしく、ドリアン

関連する問題