Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 测试ActiveSupport::TimeWithZone对象是否相等_Ruby_Ruby On Rails 3_Datetime_Compare_Activesupport - Fatal编程技术网

Ruby 测试ActiveSupport::TimeWithZone对象是否相等

Ruby 测试ActiveSupport::TimeWithZone对象是否相等,ruby,ruby-on-rails-3,datetime,compare,activesupport,Ruby,Ruby On Rails 3,Datetime,Compare,Activesupport,有人能解释为什么d1大于d2吗?他们是同一个该死的日期(至少在我看来是这样) 关于我的具体应用需求。。。我有一个iOS应用程序,它向我的Rails应用程序发出请求,传递一个JSON对象,其中包括格式为“2011-09-22T02:24:28-07:00”的NSDates。我试图将该日期时间与类型为ActiveSupport::TimeWithZone的“updated_at”进行比较 谢谢-wg您会发现事件模型中的updated_at属性的精度高于秒 尝试输出各自时间对象的毫秒部分: puts

有人能解释为什么d1大于d2吗?他们是同一个该死的日期(至少在我看来是这样)

关于我的具体应用需求。。。我有一个iOS应用程序,它向我的Rails应用程序发出请求,传递一个JSON对象,其中包括格式为“2011-09-22T02:24:28-07:00”的NSDates。我试图将该日期时间与类型为ActiveSupport::TimeWithZone的“updated_at”进行比较


谢谢-wg

您会发现事件模型中的
updated_at
属性的精度高于秒

尝试输出各自时间对象的毫秒部分:

puts d1.usec
puts d2.usec

前者很可能会>0,因为它是在对象持久化时自动设置的,而后者将等于0,因为您没有在解析它的字符串中指定任何毫秒。

是的,就是这样。比较这些日期的最佳方法是什么,这样就不会被纳入比较中?试试
d1.to\u i==d2.to\u i
puts d1.usec
puts d2.usec