1. ホーム
  2. ruby

[解決済み] 今日の日付が日付範囲に含まれるかどうかを知るにはどうすればよいですか?

2023-04-26 21:38:49

質問

あるイベントに start_timeend_time で、イベントが"in progress"であるかどうかをチェックしたいとします。これは、今日の日付が2つの日付の間の範囲にあるかどうかをチェックすることになります。

これを関数でどのように行うのでしょうか?

どのように解決するのですか?

使用方法 ===


実は、これを実現する演算子があるんです。を作る。 Range を作り、比較する Time オブジェクトを比較します。 === 演算子を用いて

start   = Time.now.to_i

range   = start..(start + 2)
inside  = start + 1
outside = start + 3        # ok, now...

range === inside  # true
range === outside # false


コメント洪水後の更新。 このバージョンはどこでもうまく動きます。(Railsでも、Ruby 1でも、Ruby 2でも。) 以前の irb の例もうまく動きましたが、インタラクティブな例は実験によっては必ずしも正しく再現されませんでした。こちらはカットアンドペーストが簡単です。

これですっきりしましたね。