ruby-on-rails – ruby中的日期/时间比较

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – ruby中的日期/时间比较前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这些日期和时间:
  1. schedule.day_start # => 2014-09-27 15:30:00 UTC
  2. date_now = Time.now # => 2014-09-27 15:11:14 +0200
  3. date_now + 60.minutes # => 2014-09-27 16:11:14 +0200

我试图检测在day_start之前60分钟或更短时间内开始的所有计划.使用以下代码,我得到“NO”而不是“YES”作为响应.

  1. if schedule.day_start < (Time.now + 60.minutes)
  2. "YES"
  3. else
  4. "NO"
  5. end

为什么2014-09-27 15:30:00 UTC比2014-09-27 16:11:14 0200更大?

解决方法

将它们作为UTC日期工作,这样可以避免出现时区问题
  1. if schedule.day_start.utc < (Time.now + 60.minutes).utc
  2. ...

猜你在找的Ruby相关文章