我有两种日期时间格式来计算差异。
2013-08-29 22:48:00 UTC
2013-08-30 00:18:40 +0530
如何从第二个减去第一个?除了时间之外,它们之间的实际区别是什么?
以下是我在控制台中运行的内容:
Loading development environment (Rails 3.2.13)
2.0.0-p247 :001 > @a = Time.parse('2013-08-29 22:48:00 UTC')
=> 2013-08-29 22:48:00 UTC
2.0.0-p247 :002 > @b = Time.parse('2013-08-29 22:48:00 +0530')
=> 2013-08-29 22:48:00 +0530
2.0.0-p247 :003 > @a > @b
=> true
2.0.0-p247 :004 > @a == @b
=> false
2.0.0-p247 :005 > @a < @b
=> false
2.0.0-p247 :006 >
两者都不一样,因此发现cmwright的答案不正确。请看一下,如果您能告诉我如何在Rails 3.2中将UTC格式转换为+5.30格式,那将会很棒?
答案 0 :(得分:2)
seconds_difference = Time.parse('2013-08-29 22:48:00 UTC') - Time.parse('2013-08-30 00:18:40 +0530')
会给你几秒钟的差异,那么你可以通过
从那里得到你的需要 seconds_difference / 1.day
或seconds_difference / 1.hour
答案 1 :(得分:1)
除了时间之外,它们之间的实际区别是什么?
好吧,一个日期是UTC(+00:00),另一个日期是UTC + 05:30。
2013-08-29 22:48:00 UTC => 2013-08-30 04:18:00 +0530
- 2013-08-29 18:48:40 UTC <= - 2013-08-30 00:18:40 +0530
------------------------- ---------------------------
3:59:20 3:59:20
无论你转换哪个方向,它们都是3小时59分20秒。
CMWright的答案显示了如何在代码中减去它们。从Time.parse
函数获得的整数都基于UTC。