はじめに
Notion Formula の第22回目では日付に関するメソッドのうち日付を加工して新しい日付などを取得する関数を解説していきます。本来、dateBetween は数値を返す関数なので、昨日解説すべきなのですが、dateAdd と対比すると説明がわかりやすいので、最初に解説します。すでに逆引き Formula のページに関数説明があるので、このページを見ながら解説していきます。
日付から数値を取得: year, month, date, day, week, hour, minute, timestamp, dateBetween
日付を加工: dateAdd, dateSubtract, dateStart, dateEnd, dateRange
dateBetween()
「dateBetween()」の説明には「2つの日付の差をミリ秒単位で計算します。最後の引数は、 "years"、"quarters"、"months"、"weeks"、"days"、"hours"、"minutes" のいずれかの単位を指定します」と書かれています。ただし、Notion では分までの情報しか持ちません。文法は以下のようになります。単位の部分を変えることで、数値が変わることを例で見てください。
prop("date1").dateBetween(prop("date2"), "単位")
dateAdd()
「dateAdd()」は日付に時間を追加します。最後の引数は、 "years"、 "quarters"、 "months"、 "weeks"、 "days"、 "hours"、 "minutes" のいずれかの単位を指定します。説明を見てわかるように dateBetween の逆の処理になっていることがわかります。文法は以下のようになります。
prop("date").dateAdd(数値, "単位")
dateSubtract()
「dateSubtract()」は日付から時間を引きます。最後の引数は、"years"、 "quarters"、 "months"、 "weeks"、 "days"、 "hours"、 "minutes" のいずれかの単位を指定します。説明を見てわかるようにこちらも dateBetween の逆の処理になっていることがわかります。文法は以下のようになります。
prop("date").dateSubtract(数値, "単位")
dateStart()
「dateStart()」は日付範囲の始めを返します。日付範囲でなかった時には、その日付がそのまま返ります。文法は以下のようになります。
prop("date").dateStart()
dateEnd()
「dateEnd()」は日付範囲の終わりを返します。日付範囲でなかった時には、その日付がそのまま返ります。文法は以下のようになります。
prop("date").dateEnd()
dateRange()
「dateRange()」は開始日と終了日から構築された日付範囲を返します。上の dateStart と dateEnd の逆になります。Formula 2.0 から追加されました。文法は以下のようになります。
prop("date1").dateRange(prop("date2")
おわりに
今回は、日付を加工するメソッドを解説しました。Formula 1.0 までは終了日を設定するメソッドがありませんでしたが、dateRange により日付範囲を Formula で作成できるようになったのが大きいと思います。