我发现解析这些日期几乎是不可能的
require 'csv'
require 'date'
CSV.foreach(path, :encoding => 'windows-1251:utf-8') do |row|
bid_date = Date.parse(row[7])
end
我得到的错误是'parse': invalid date (ArgumentError)
我也尝试过Date.strptime,我得到'strptime': invalid date (ArgumentError)
我将自己的字符串转换为日期没有问题,但是当它们出现在这个CSV文件中时,我似乎无法让它工作,有什么想法吗?
如果我不解析它返回字符串如下:
2016年2月25日
2016年3月3日
2016年3月4日
2016年3月14日
2016年3月17日
答案 0 :(得分:1)
02/25/2016
无法解析输入日期的格式(例如Date.parse
) - 您可以使用strptime
来提供格式,例如
Date.strptime('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