1

ユーザーが複数の日付形式を入力できるようにする必要がある誕生日の列がcsvにあり、ファイルをWebページからインポートできます。現時点では、列は 1 種類の形式にのみ設定されています。:birthday => (Date.strptime(row[2], "%mm/%dd/%YY") rescue nil),. 複数の日付形式を持つことは可能ですか? ありがとう!

4

2 に答える 2

2

Date.parse代わりに試してください:

指定された日付と時刻の表現を解析し、日付オブジェクトを作成します。

オプションの 2 番目の引数が true で、検出された年が「00」から「99」の範囲にある場合、年を 2 桁の形式と見なして完全にします。

例えば:

Date.parse('2001-02-03')          #=> #<Date: 2001-02-03 ...>
Date.parse('20010203')            #=> #<Date: 2001-02-03 ...>
Date.parse('3rd Feb 2001')        #=> #<Date: 2001-02-03 ...>

さらに制御が必要な場合は、独自の解析方法をいつでも定義できます。

于 2012-10-29T21:24:09.483 に答える
0

Rails の DateTime は、フォーマットを自動的に検出しようとします。次の形式を検出します:mm/dd/yyまたはdd-mm-yyまたはyyyy-mm-ddまたはyyyy/mm/dd.

それ以外の場合は、ファイルに存在する形式で異なる解析を試みる独自のメソッドを作成する必要があります。

于 2012-10-29T21:24:55.350 に答える