Rails 4比较没有毫秒的DateTimes

时间:2015-05-07 17:42:36

标签: ruby-on-rails datetime

我试图在服务JSON的Rails 4 API中准确地比较日期时间。将rfc3339格式的日期发送到此类

的API时
"2015-05-06T21:16:43.611-0400"

比较无法正常工作,因为Rails 4将日期时间与微秒精度进行比较,而日期则以毫秒精度发送

有没有办法限制"做类似

之类的比较毫秒
object.created_at > '2015-05-06T21:16:43.611-0400'   

1 个答案:

答案 0 :(得分:3)

你可以通过object.created_at.change(sec: object.created_at.sec)删除毫秒。这将返回一个新的日期时间对象,其中所有内容都在零秒之外,它不会更改数据库中的日期时间。

我希望有一个更好的方法可以做到,但DateTime#change in Rails 4 does not support usec,尽管互联网上到处都是人们说要使用它。

你可以写一个帮手来使这个更整洁,

def strip_milliseconds(datetime)
    datetime.change sec: datetime.created_at.sec
end