我的课程有两个参数:start_date
和end_date
。
这些格式为 - 2012-07-12和2012-07-24。
我要从end_date
中减去start_date
。
以前的谷歌搜索让我高高在上。我应该将这些转换成别的东西来做减法吗?
答案 0 :(得分:7)
将它们转换为日期并减去它们:
require 'date'
start_date = Date.parse('2012-07-12')
end_date = Date.parse('2012-07-24')
(start_date - end_date).to_i
=> -12
答案 1 :(得分:0)
如果您希望(end_date-start_date).days
天数工作正常。您可能会花费Rational
天,在这种情况下,您可以使用to_i
答案 2 :(得分:0)
如果我没有被误导,则参数以String
的形式出现,因此您必须将其转换为Date
,DateTime
或Time
才能执行与他们进行数学运算。
您可以参考此问题以获取更多详细信息
How can I find the number of days between two Date objects in Ruby?
答案 3 :(得分:0)
你可以减去两个DateTime对象使用1.9
require 'date'
DateTime.parse(end_date) - DateTime.parse(start_date)