加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 测试ActiveSupport :: TimeWithZone对象的相等性

发布时间:2020-12-16 22:11:54 所属栏目:百科 来源:网络整理
导读:有人可以解释d1如何大于d2?他们是同样的死亡日期(或至少是他们如何看待我). Loading development environment (Rails 3.0.8)ruby-1.9.2-p180 :001 d1 = Event.first.updated_at = Thu,22 Sep 2011 02:24:28 PDT -07:00 ruby-1.9.2-p180 :002 d2 = Time.zone
有人可以解释d1如何大于d2?他们是同样的死亡日期(或至少是他们如何看待我).
Loading development environment (Rails 3.0.8)
ruby-1.9.2-p180 :001 > d1 = Event.first.updated_at
 => Thu,22 Sep 2011 02:24:28 PDT -07:00 
ruby-1.9.2-p180 :002 > d2 = Time.zone.parse("2011-09-22T02:24:28-07:00")
 => Thu,22 Sep 2011 02:24:28 PDT -07:00 
ruby-1.9.2-p180 :003 > d1.class
 => ActiveSupport::TimeWithZone 
ruby-1.9.2-p180 :004 > d2.class
 => ActiveSupport::TimeWithZone 
ruby-1.9.2-p180 :005 > d1 > d2
 => true 
ruby-1.9.2-p180 :006 >

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

谢谢 – wg

解决方法

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

尝试输出您相应时间对象的毫秒部分:

puts d1.usec
puts d2.usec

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读