Ruby on rails rails中的DateTime操作

Ruby on rails rails中的DateTime操作,ruby-on-rails,ruby,datetime,time,Ruby On Rails,Ruby,Datetime,Time,是否可以将一个日期时间与另一个日期时间相减,并及时得到结果。 例如,如果我们从2011-08-29 08:13:00 UTC减去2011-08-27 01:00:00 UTC,结果应该是55:13:00(希望我在计算时没有出错:p) 谢谢。像这样做数学时,时间通常用秒来表示,如果你愿意,甚至可以用小数秒来表示。时间表示一个特定的时间点,自1970年1月1日以来,该时间点在内部表示为秒,但并不打算成为那样的标量单位 如果您有两个DateTime对象,您可以如下确定它们之间的差异: diff = D

是否可以将一个日期时间与另一个日期时间相减,并及时得到结果。 例如,如果我们从2011-08-29 08:13:00 UTC减去2011-08-27 01:00:00 UTC,结果应该是55:13:00(希望我在计算时没有出错:p)
谢谢。

像这样做数学时,时间通常用秒来表示,如果你愿意,甚至可以用小数秒来表示。时间表示一个特定的时间点,自1970年1月1日以来,该时间点在内部表示为秒,但并不打算成为那样的标量单位

如果您有两个
DateTime
对象,您可以如下确定它们之间的差异:

diff = DateTime.parse('2011-08-29 08:13:00 UTC').to_time - DateTime.parse('2011-08-27 01:00:00 UTC').to_time
# => 198780.0
有了秒数后,剩下的只是格式问题:

'%d:%02d:%02d' % [ diff / 3600, (diff / 60) % 60, diff % 60 ]
# => "55:13:00"

很好,这正是我想要的,但我有一个小问题,当我这样做的时候:diff=DateTime.parse(@project.deadline.to_s)。to_time-DateTime.parse(DateTime.now.to_s)。to_time with project.deadline.to_=“2011-08-25T09:25:00+00:00”和DateTime.now.to_=“2011-08-25T09:24:36+02:00”结果是“2:00:24”,而它应该是“0:00:24”忘掉这个愚蠢的问题,问题解决了。这是因为我又解析了一次。现在我在做这个:diff=@project.deadline.to_.to_time-DateTime.Now.to_.to_.to_.to_.to_time,它工作得很好:)非常感谢!!