0

私はこの日時を持っています:

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

時間間隔を表す 2 つの整数もあります。たとえば、午前 9 時から午後 5 時までにしたい場合は、次のように使用します。

start  = 9
finish = 17

ここで、datetime が 2 つの整数の間隔内にあるかどうかを調べたいと思います。この例で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 に答える