rails中DateTime的操作

kba*_*che 2 ruby time datetime ruby-on-rails

是否可以从另一个DateTime中减去一个DateTime并在Time中得到结果.例如,如果我们从2011-08-29 08:13:00 UTC减去2011-08-27 01:00:00 UTC,结果应该是55:13:00(希望我在计算时没有犯错:p ) 谢谢.

tad*_*man 5

在这样做数学时,时间通常用秒表示,如果你想要,甚至是小数秒.A Time表示一个特定的时间点,虽然在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
Run Code Online (Sandbox Code Playgroud)

一旦你有秒数,其余的只是一个格式问题:

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