3

我有一个有两个参数的类:start_dateend_date.

这些格式类似于 - 2012-07-12 和 2012-07-24。

end_date我要从中减去start_date

以前的谷歌搜索让我高高在上。我应该将这些转换为其他东西来做减法吗?

4

4 回答 4

7

将它们转换为日期并减去它们:

require 'date'

start_date = Date.parse('2012-07-12')
end_date = Date.parse('2012-07-24')

(start_date - end_date).to_i

=> -12
于 2012-07-26T20:31:28.647 回答
0

如果你想要天数(end_date-start_date).days应该可以正常工作。你可能会得到Rational几天,在这种情况下你可以使用to_i

于 2012-07-26T20:29:12.163 回答
0

如果我不是 miskaten,则参数以 a 的形式出现String,因此您必须将其转换为 a Date,DateTimeTime对它们进行数学运算。
您可以参考此问题以了解更多详细信息。
如何在 Ruby 中找到两个 Date 对象之间的天数?

于 2012-07-26T20:29:48.037 回答
0

您可以只减去两个 DateTime 对象

使用 1.9

require 'date'
DateTime.parse(end_date) - DateTime.parse(start_date)
于 2012-07-26T20:30:23.670 回答