0

我有这个日期时间:

time = 2013-08-21 11:54:49 +0200

我还有两个表示时间间隔的整数。例如,如果我希望它在上午 9 点到下午 5 点之间,我将使用:

start  = 9
finish = 17

我现在想检查日期时间是否在两个整数的区间内。在此示例中,结果将是true,因为 11:54 的事件在 9 点到 17 点之间...

这个怎么做?

4

2 回答 2

2

如果您不关心时区,则代码可能类似于:

(start..finish).include? DateTime.now.strftime('%H').to_i

于 2013-08-21T10:31:23.613 回答
1

在您的问题中,分配不正确。这会起作用:

require 'date'
event = DateTime.parse('2013-08-21 11:54:49 +0200')

如果你有一个DateTime实例,你可以简单地使用#hour

event.hour # => 11

您可以将此整数与任何其他整数进行比较:

event.hour.between?(start, finish) # => true
于 2013-08-21T10:29:37.537 回答