获得2个日期之间的差异

时间:2012-01-19 14:29:58

标签: ruby

我想知道两个日期之间的天数,小时数和分钟数。我该怎么做?

2 个答案:

答案 0 :(得分:6)

我还没有找到Ruby-ish seconds_to_hours函数(尽管构建起来很简单),但是在这篇文章的底部有一个明显的解决方案。

s = Time.now
e = Time.now + 3.hours
d = e - s
 => 10803.318176 

注意:此值只是一个浮点数,表示两个日期值之间的秒数。

我希望能够返回时间。为此,您需要除以时间,以秒为单位。

b = d / 1.hour.seconds
 => 3.0009217155555556

我的目标是获得小时的小数值,四舍五入到最接近的6分钟,所以:

r = b.round(1)
 => 3.0

总结一下:

r = ((e - s) / 1.hour.seconds).round(1)
 => 3.0

答案 1 :(得分:-5)

d3=d1-d2
d3.days
d3.hours
d3.min
d3.sec
#etc...

注意:这是original question的答案,而不是答案发布后编辑的不同问题。

然而,正如@dukedave在评论中提到的,这不是一个真正有效的答案。请使用下面的@ RealCasually answer