【发布时间】:2014-09-25 12:21:34
【问题描述】:
我有一个二维数组。
array = [["2014-01-12", "2014-01-12", "2014-01-12"],
["2012-08-26", "2012-10-18", "2012-08-31"],
["2013-04-09", "2013-05-22", "2013-07-01"]]
我需要在每个子数组的第三个值上加上 31 天(例如:“2014-01-12”和“2012-08-31”和“2012-07-01”)
我考虑过类似的事情:
changed_date = array.map { |due| ((Date.strptime(due[2], "%Y-%m-%d"))+ 31) }
但想看看还有什么其他方法可以做到这一点......
谢谢!
编辑:
我需要结果是一个字符串数组,其中 row.last 有额外的 31 天。结果数组应如下所示:
array = ["2014-02-12", "2012-09-31", "2012-08-31"]
【问题讨论】:
-
我很好,你的方法!
-
例如:“2014-01-12”和“2012-08-31”和“2012-08-31”是什么意思?那是指什么?
-
鉴于@konsolebox 的回答和您对它的评论,您对
changed_date的表达具有误导性,因为它表明您想要一个日期对象数组,而不是日期字符串。如果您在答案中包含“期望的结果”,则可以避免这种情况;即changed_date => [["2014-01-12", "2014-02-12", "2014-01-12"],...]。当你举一个例子(这是非常可取的)时,最好同时给出你得到的结果和你想要的。 -
感谢您的反馈!刚开始时可能需要学习大量的东西,晚上知道如何提出一个好问题是一个持续的学习过程。