在Ruby time类中执行相对日期算法时,这是一个bug吗?

在Ruby time类中执行相对日期算法时,这是一个bug吗?,ruby,activerecord,time,activesupport,Ruby,Activerecord,Time,Activesupport,有人能告诉我这是否是ruby time类中的一个bug吗 ruby-1.8.7-p334 :021 > now = Time.now => Mon Aug 29 03:32:25 -0700 2011 ruby-1.8.7-p334 :022 > raise "This should not fail" if (now + 1.day != now + 1.day.to_i) RuntimeError: This should not fail from (irb)

有人能告诉我这是否是ruby time类中的一个bug吗

ruby-1.8.7-p334 :021 > now = Time.now
 => Mon Aug 29 03:32:25 -0700 2011 
ruby-1.8.7-p334 :022 > raise "This should not fail" if (now + 1.day != now + 1.day.to_i)
RuntimeError: This should not fail
    from (irb):22
ruby-1.8.7-p334 :023 > 
正如你所看到的,我得到了一个运行时错误,我不认为我应该。我最近升级了active_support gem,我相信它提供了这一功能

多谢各位

**更新**

而且,现在它工作了,除了我上床睡觉、醒来和重新运行外,没有任何变化。这很奇怪,;我上面提供的代码片段是直接从终端窗口剪切粘贴的。。。。我在运行activerecord/support/model/etc的3.0.10版本


谢谢大家对这件事的想法

当然这不是
Time
类中的错误,因为差异似乎出现在
Fixnum
类的
day
方法中。此外,这不是原始的
Fixnum
类的方法;它应该在您以前要求的某个文件中定义。

时间不包括它,时间对象包含毫秒-不仅如此,它还包含分数秒(分辨率更高)(请参见:)

Time.now==Time.now
已经为false,因为每次调用
now
都需要几个CPU周期才能完成。也来看看

如果time和other_time都是具有相同秒数和分数秒数的时间对象,则返回true


还请告诉我们您正在使用哪个版本的active_支持。在使用该代码之前,您需要什么?我需要“活动记录”和“活动支持”,但无法访问该
day
方法。在这种情况下,
now
是一个局部变量,因此
now==now
。此外,我假设
1.day
是秒的整数。