ste*_*cdn 6 datetime ruby-on-rails
我试图在提供 JSON 的 Rails 4 API 中准确比较日期时间。当像这样以 rfc3339 格式向 API 发送日期时
"2015-05-06T21:16:43.611-0400"
Run Code Online (Sandbox Code Playgroud)
比较无法正常工作,因为 Rails 4 将日期时间与微秒精度进行比较,而日期以毫秒精度发送
有没有办法在做类似的事情时将比较“限制”到毫秒
object.created_at > '2015-05-06T21:16:43.611-0400'
Run Code Online (Sandbox Code Playgroud)
您可以通过这样做来去除毫秒。object.created_at.change(sec: object.created_at.sec)这将返回一个新的日期时间对象,其中秒数下的所有内容都归零,它不会更改数据库中的日期时间。
我希望有一个更好的方法来做到这一点,但DateTime#changeRails 4 不支持usec,尽管互联网上到处都是说要使用它的人。
你可以写一个助手来让这个更整洁,
def strip_milliseconds(datetime)
datetime.change sec: datetime.created_at.sec
end
Run Code Online (Sandbox Code Playgroud)