ruby - 如何仅比较两个 Time 对象到小时

标签 ruby

我只想比较两个 Time 对象到小时,而忽略分钟和秒的差异。

我目前正在使用 t0.strftime("%Y%m%d%H") == t1.strftime("%Y%m%d%H"),但我我认为这不是一个好的解决方案。

有更好的方法吗?

最佳答案

你可以在纯 Ruby 中使用这个技巧

t0.to_a[2..9] == t1.to_a[2..9]

哪里Time#to_a

$> Time.now.to_a
# => [7, 44, 2, 8, 3, 2014, 6, 67, false, "GMT"]
# [ sec, min, hour, day, month, year, wday, yday, isdst, zone ]

因此您可以检查时间是否等于或未达到您想要的级别,并且不会遗漏对象的重要组成部分,例如区域等。

关于ruby - 如何仅比较两个 Time 对象到小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22264167/

相关文章:

ruby - Pry 中有 next 的等价物吗?

ruby - Os x Mavericks ruby 应用程序

ruby-on-rails - FiberError - 跨线程调用的纤程

Ruby - 获取鼠标坐标

ruby-on-rails - 为什么 url_for 为未定义的路由返回/ Assets ?

ruby - ruby 嵌套太多?

ruby-on-rails - 安装 rvm 后路径损坏?

ruby-on-rails - 在 Ruby Net::HTTP.start 中为服务调用设置 read_timeout

css - “field-with-errors” 包装器在 ruby​​ on rails 中使用 <pre> 标记更改页面外观

mysql - 为什么代码库中没有模型定义,但数据库中有表?