Ruby 无效的Date.parse在转换CSV日期时,我也尝试了Date.strtime

Ruby 无效的Date.parse在转换CSV日期时,我也尝试了Date.strtime,ruby,csv,Ruby,Csv,我发现解析这些日期几乎是不可能的 require 'csv' require 'date' CSV.foreach(path, :encoding => 'windows-1251:utf-8') do |row| bid_date = Date.parse(row[7]) end 我收到的错误是“解析”:无效日期(ArgumentError) 我还尝试了Date.strtime,我得到了“strtime”:无效的日期(ArgumentError) 我没有问题将我自己的字符串转换为日

我发现解析这些日期几乎是不可能的

require 'csv'
require 'date'
CSV.foreach(path, :encoding => 'windows-1251:utf-8') do |row|
  bid_date = Date.parse(row[7])
end
我收到的错误是“解析”:无效日期(ArgumentError)

我还尝试了Date.strtime,我得到了
“strtime”:无效的日期(ArgumentError)

我没有问题将我自己的字符串转换为日期,但是当它们从这个CSV文件中出来时,我似乎无法让它工作,有什么想法吗

如果不进行分析,则返回如下字符串:
2016年2月25日
2016年3月3日
2016年4月3日
2016年3月14日

2016年3月17日

输入日期的格式(例如,
2016年2月25日
)无法按日期解析。解析-您可以使用
strtime
提供格式,例如

Date.strtime('02/25/2016','%m/%d/%Y')

所以你会想要一些类似的东西:

CSV.foreach(path, :encoding => 'windows-1251:utf-8') do |row|
  bid_date = Date.strptime(row[7], '%m/%d/%Y')
end