Notionで「終了日」と「時間を含む」を有効にした日付項目から「掛かった時間数」を算出する #notion

2024.05.26

小ネタです。

Notionでは2つの日付項目を使って、「2つの日付項目間における時間の範囲を算出」することが出来ます。

一方、Notionの日付項目では、以下のように「終了日」と「時間を含む」設定を有効にすることで、1つの日付項目で「開始日時〜終了日時」を表現することが可能です。

せっかくなら「"終了日"と"時間を含む"設定を有効にした日付項目1つを使って掛かった時間数を算出したい」と思ったことはありませんか?私はあります。

ということで、当エントリではその内容について備忘録として残しておきたいと思います。

 

2つの日付項目を使って求めるケース

まずは2つの日付項目から求めるケースです。以下のように「時間を含む」を有効にした日付を2つ、「日付時刻(開始)」「日付時刻(終了)」という項目として用意しました。

dateBetween 関数を使って2項目間の時間数を"分(minutes)"単位で求め、その数値を60で割ることで時間数を導き出しています。

dateBetween(prop("日付時刻(終了)"),prop("日付時刻(開始)"),"minutes") / 60

 

「終了日」と「時間を含む」を有効にした1つの日付項目を使って求めるケース

そして本題です。日付項目には「終了日」を設定することが出来、「時間を含む」も合わせて有効にすることで『1つの日付項目で任意の範囲を示す日付時刻を設定』することが出来ます。

求める際の方向性は上記内容と同じですが、こちらではdateRange関数を使って対象項目の範囲を求めています。求める項目にはいずれも上記で用意した同じ項目名を設定しています。dateStart関数とdateEnd関数は範囲における開始、終了の値を求めることが出来るようになっており、結果同じ項目の開始値と終了値をdateBetween関数に渡すことが出来ている、という流れですね。

dateBetween(
	dateEnd(dateRange(prop("日付時刻(開始〜終了)"),prop("日付時刻(開始〜終了)"))),
	dateStart(dateRange(prop("日付時刻(開始〜終了)"),prop("日付時刻(開始〜終了)"))),
	"minutes"
)
/ 60

Notionにおける関数の一覧は以下公式ドキュメントよりご参照ください。

 

まとめ

という訳で、「"終了日"と"時間を含む"設定を有効にした日付項目1つを使って掛かった時間数を算出する方法」に関する備忘録的小ネタの紹介でした。