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

ruby-on-rails – Rails 4比较没有毫秒的DateTimes

发布时间:2020-12-17 02:24:03 所属栏目:百科 来源:网络整理
导读:我试图在服务 JSON的Rails 4 API中准确地比较日期时间.将rfc3339格式的日期发送到这样的API时 "2015-05-06T21:16:43.611-0400" 比较不能正常工作,因为Rails 4将日期时间与微秒精度进行比较,而日期则以毫秒精度发送 有没有办法将比较“限制”到毫秒级时做类似
我试图在服务 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'

解决方法

您可以通过执行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

(编辑:李大同)

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

    推荐文章
      热点阅读