检查时间是否在两次红宝石之间

时间:2018-06-28 12:55:30

标签: ruby-on-rails ruby

我要检查Ruby on Rails上的DateTime.now是否在2个特定日期和时间之间。

我似乎不明白

 def closed?
  (DateTime.now > DateTime.new(2018, 6, 28, 13, 00, 00)) && (DateTime.now < DateTime.new(2018, 6, 28, 14, 00, 00))
 end

2 个答案:

答案 0 :(得分:4)

您可以使用掩护吗?方法

now = DateTime.now
start = DateTime.new(2018, 6, 28, 13, 00, 00)
stop =  DateTime.new(2018, 6, 28, 14, 00, 00)
p (start..stop).cover? now

希望它会对您有所帮助:)

答案 1 :(得分:3)

我会使用between?(min, max) function from ActiveSupport

def closed?
  DateTime.now.between?(DateTime.new(2018, 6, 28, 13, 00, 00), DateTime.new(2018, 6, 28, 14, 00, 00))
end