到目前为止ddmmyyyy格式的字符串

时间:2013-04-08 20:39:49

标签: ruby arrays date datetime

我有一个包含大量文件夹的文件夹,所有文件夹的命名约定为mmddyyyy(例如0410201304092013等)。我有一个包含所有这些路径的文本文件,并且已经成功地在Ruby中编写了一个删除路径的数组,因此我们只剩下日期(但我相信它存储为sting)。

我现在需要做的是获取数组中的日期并为它们添加一些天数。天数将是静态的,并且需要在数组中为所有内容应用相同的值。在第8行,我收到无效日期(ArgumentError)。最终结果必须是数组中每个项目的+7天数组。现在我甚至无法将值转换为日期格式。

require 'date'
myarray = IO.readlines "/path/to/myfile.txt"
myarray.each do |s|
  s.gsub!('/path/to/my/dated/folders/', '')
end
print myarray 

myarray.map! {Date.strptime("%m%d%Y")}
# myarray.map! {+(7)}
print myarray

2 个答案:

答案 0 :(得分:1)

尝试:

myarray.map!{|s| Date.strptime(s, '%m%d%Y') + 7}

答案 1 :(得分:0)

你非常接近!您需要将数组值传递给日期构造函数。

myarray.map!{|date| Date::strptime(date, "%m%d%Y") + 7}