我有这个日期时间:
time = 2013-08-21 11:54:49 +0200
我还有两个表示时间间隔的整数。例如,如果我希望它在上午 9 点到下午 5 点之间,我将使用:
start = 9
finish = 17
我现在想检查日期时间是否在两个整数的区间内。在此示例中,结果将是true
,因为 11:54 的事件在 9 点到 17 点之间...
这个怎么做?
如果您不关心时区,则代码可能类似于:
(start..finish).include? DateTime.now.strftime('%H').to_i
在您的问题中,分配不正确。这会起作用:
require 'date'
event = DateTime.parse('2013-08-21 11:54:49 +0200')
如果你有一个DateTime
实例,你可以简单地使用#hour
:
event.hour # => 11
您可以将此整数与任何其他整数进行比较:
event.hour.between?(start, finish) # => true