[英]Rails 4 Comparing Datetime in API
嗨,我在将日期时间与Rails 4 JSON API进行比较时遇到问题。
我将范围与created_at属性一起使用
scope :later_than, -> (date) { where('created_at > ?', date) }
为created_at返回的JSON看起来像
"created_at" = "2015-05-07T01:16:43.611Z"
发送相同的日期时间时,API日志和SQL看起来像
Parameters: {"later_than"=>"2015-05-06T21:16:43.611-0400"}
created_at > '2015-05-06T21:16:43.611-0400'
在控制台中
Object.first.created_at
=> Thu, 07 May 2015 01:16:43 UTC +00:00
Object.first.created_at > '2015-05-06T21:16:43.611-0400'
=> true
最后一个比较应该为false,但相反为true,并且作用域无法正常工作。
记录时
Object.first.created_at - '2015-05-06T21:16:43.611-0400'.to_datetime
=> 0.000402
所以发生的是:
因此,当向API发送相同的日期时间时,微秒将被设置为0,因此比较无法按预期进行。
有没有办法告诉Rails:比较日期时间和毫秒精度?
Message.first.created_at
等于Thu, 07 May 2015 01:16:43 UTC +00:00
吗? (您在那里有Object.first.created_at
),因为如果是,则控制台表达式的行为正确且应为true。
你尝试过这样的事情吗?
Object.first.created_at > Time.parse('2015-05-06T21:16:43.611-0400')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.