私はこの日時を持っています:
time = 2013-08-21 11:54:49 +0200
時間間隔を表す 2 つの整数もあります。たとえば、午前 9 時から午後 5 時までにしたい場合は、次のように使用します。
start = 9
finish = 17
ここで、datetime が 2 つの整数の間隔内にあるかどうかを調べたいと思います。この例で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