2013-04-08 62 views
0

我有一個文件夾,其中包含一系列命名約定爲mmddyyyy(例如04102013,04092013等)的文件夾。我有一個包含所有這些路徑的文本文件,並且已經成功地在Ruby中編程了一個數組,該數組刪除了路徑,因此我們只剩下日期(但我相信它存儲爲一個sting)。ddmmyyyy格式的字符串到目前爲止

我現在需要做的是取數組中的日期併爲其添加一定的天數。天數將是靜態的,並且需要在陣列中的所有內容中應用相同的值。在第八行,我得到一個無效的日期(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 

回答

1

嘗試:

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

你非常接近!您需要將您的數組值傳遞給日期構造函數。

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