我有2个DateTime实例
today = Sun, 25 Nov 2018 18:59:00 -0500
tomorrow = Mon, 26 Nov 2018 00:00:00 GMT +00:00
当我这样做
today >= tomorrow
它是错误的,这是正确的
当我这样做
today + 1.minute >= tomorrow
结果正确,这是不正确的。当11月25日少于11月26日时,为什么这样做?以某种方式只计算时间而不计算日期吗?如果是,我该如何解决?
答案 0 :(得分:1)
请注意,today
和tomorrow
处于不同的时区。将1.minute
添加到today
时,两个值都相同。因此,==
返回true
。
2.5.3 :001 > today = DateTime.parse('Sun, 25 Nov 2018 18:59:00 -0500')
=> Sun, 25 Nov 2018 18:59:00 -0500
2.5.3 :002 > tomorrow = DateTime.parse('Mon, 26 Nov 2018 00:00:00 GMT +00:00')
=> Mon, 26 Nov 2018 00:00:00 +0000
2.5.3 :003 > today >= tomorrow
=> false
2.5.3 :004 > today + 1.minute
=> Sun, 25 Nov 2018 19:00:00 -0500
2.5.3 :005 > today + 1.minute >= tomorrow
=> true
2.5.3 :006 > today + 1.minute == tomorrow
=> true