在 Ruby 中计算日期差值

3

我有一个类,它有两个参数:start_dateend_date

它们的格式为- 2012年7月12日和2012年7月24日。

我想把end_date减去start_date

之前的谷歌搜索让我失望。我应该将它们转换为其他格式来进行减法运算吗?

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

0
你可以简单地减去两个 DateTime 对象。
使用 1.9 版本。
require 'date'
DateTime.parse(end_date) - DateTime.parse(start_date)

0
如果你想要计算天数,(end_date-start_date).days 应该可以正常工作。你可能会得到一个 Rational 类型的天数,这种情况下你可以使用 to_i 方法来转换为整数。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接