2000-01-01のフォーマットの文字列をto_dateしようとしてもエラーになっております。
"07/02/2013"のフォーマットからでないと変換できないということでしょうか。
http://stackoverflow.com/questions/17795384/rails-parse-invalid-date-error
文字から日付の変換は一般的にどうされていますでしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
ベストアンサー
File の内容が本当にタブ区切りになっているのかを確認してみてはいかがですか?
タブ区切りのかわりにスペース区切りがあるとき,同じようなエラーが確認されました。
つまり cols[1] の値が nil になってしまうので,エラーが起きていました。
nil がありそうなところにいろいろ p して確認して見ましょう。
投稿2016/01/16 14:46
総合スコア47
0
parseメソッドですね。
Ruby
1require "date" 2#=> true 3Date.parse("2000-01-01") 4#=> #<Date: 2000-01-01 ((2451545j,0s,0n),+0s,2299161j)> 5DateTime.parse("2000-01-01") 6#=> #<DateTime: 2000-01-01T00:00:00+00:00 ((2451545j,0s,0n),+0s,2299161j)>
投稿2016/01/16 03:19
総合スコア84555
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/16 09:56
0
http://docs.ruby-lang.org/ja/2.2.0/class/Date.html
↑の Ruby API ドキュメントを読むと、次のメソッドが使えそうなことがわかります。
...
httpdate(str = 'Mon, 01 Jan -4712 00:00:00 GMT', start = Date::ITALY) -> Date
[RFC2616] で定められた書式の日付を解析し、 その情報に基づいて日付オブジェクトを生成します。iso8601(str = '-4712-01-01', start = Date::ITALY) -> Date
いくつかの代表的な [[ISO:8601]] 書式の日付を解析し、 その情報に基づいて日付オブジェクトを生成します。parse(str = '-4712-01-01', complete = true, start = Date::ITALY) -> Date
与えられた日付表現を解析し、 その情報に基づいて日付オブジェクトを生成します。
strptime(str = '-4712-01-01', format = '%F', start = Date::ITALY) -> Date
与えられた雛型で日付表現を解析し、 その情報に基づいて日付オブジェクトを生成します。
rfc2822(), rfc822(), rfc3339() もありますが、上の 4 つから状況に応じて選べばよいとおもいます。
投稿2016/01/16 04:37
総合スコア22324
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/16 10:59
2016/01/16 11:54
2016/01/24 09:13
2016/01/24 14:51
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/24 14:50