📅

日付範囲内に含まれることを確認するには?

属性名
終了時刻・範囲内?
返り値
Boolean
逆引きNotionDB
関連するもの
Slack で以下の質問を受けました。
「今日のタスク」というデータベースを作成したいのですが、、、難しい、、、、例えば、タスク1
開始日8/24〜終了日8/31と指定した場合、その期間中の今日(8/30)に掛かるものをフィルターかformulaで抽出するのは出来ますか?
時間を含まない場合、範囲でのチェックが難しいためです。時間を含まない場合には、終了時刻を翌日の0:00 にして、その時刻と比較することで範囲内かどうかをチェックできます。
  1. 終了時刻。時間が設定されていない時(0:00の時)に終了時刻の翌日の0:00 にします。0:00かどうかの判定ですが、時間と分の和が0になるのは0:00しかないので、比較は一つだけで済んでいます。
    1. (hour(end(prop("日付範囲"))) + minute(end(prop("日付範囲"))) == 0) ? dateAdd(end(prop("日付範囲")), 1, "days") : end(prop("日付範囲"))
  1. 範囲内?(動作確認版): now() を使うとテストできないので、動作確認ようにチェック日付で書いたものです。上の終了時刻より前かどうかをチェックしています。
    1. and(prop("チェック日付(now()に変える)") >= start(prop("日付範囲")), prop("チェック日付(now()に変える)") < prop("終了時刻"))
  1. 範囲内?: 実際に使うものはこちらです。
    1. and(now() >= start(prop("日付範囲")), now() < prop("終了時刻"))
       
日付範囲確認
Name
日付範囲
チェック日付(now()に変える)
終了時刻
範囲内?(動作確認版)
範囲内?
Aug 30, 2022
Aug 30, 2022 08:00
Aug 29, 2022 → Aug 30, 2022
Aug 30, 2022 08:00
Aug 30, 2022 → Aug 31, 2022
Aug 30, 2022 08:00
Aug 29, 2022 → Aug 31, 2022
Aug 30, 2022 08:00
Aug 28, 2022 → Aug 29, 2022
Aug 30, 2022 08:00
Aug 31, 2022 → Sep 1, 2022
Aug 30, 2022 08:00
Aug 30, 2022 01:00
Aug 30, 2022 08:00
Aug 30, 2022 08:00