formatDate: Notion Formula 解説 (6)

はじめに

Notion Formula の第6回目では日付をテキストに変換する formatDate メソッドを確認します。すでに逆引き Formula のページに関数説明があるので、このページを見ながら解説していきます。

formatDate

文法

説明には「カスタム書式設定文字列を使用して日付の書式を設定をします。書式設定文字列には、日付の一部を表す次のテキストを含めることができます。"yyyy" は年、"MM" は月、"dd" は日、"HH" は時、"mm" は分です。」とあります。使い方は以下のようになります。

prop("date").formatDate("format文字列")

月文字列

結果は以下のようになります。日本語環境と英語環境で出力が異なるので両方示します。May なので MMM も MMMM も同じ表記でした。日本語はどちらも「5月」です。

月文字列(J)
月文字列(E)

クオータ文字列

日本語は Q も Qo も変化ありませんでした。

クオータ文字列(J)
クオータ文字列(E)

日付文字列

Do だけが変化しました。

日付文字列(J)
日付文字列(E)

年内の日付番号文字列

1月1日から数えた日付番号を出力します。こちらも DDDo だけが変化します。

年内の日付番号文字列(J)
年内の日付番号文字列(E)

曜日番号文字列と曜日文字列

曜日番号は、月曜日が1、土曜日が6はどの表記も変わりませんが、d, e と E では日曜日が 0 になるか 7 になるかが変わります。曜日名は日本語は dd と ddd は 1 文字のみ、dddd で曜日まで付きます。英語では文字数が全て異なります。

曜日番号文字列と曜日文字列(J)
曜日番号文字列と曜日文字列(E)

週番号文字列

週番号は、週の始まりをどちらにするかで値が変わります。w は日曜始まりの週番号になります。一方、W はその週の月曜日が何週目かを示す数字になります。こちらはその年の最初の木曜日を1週目と数えます。その週の木曜日が前年度であれば、年を超えていても前の年度の最終週になります。1週ごとの自動スプリントを設定したときなど、この週番号をスプリントタイトルにするとちょうどいいと思います。

週番号文字列(J)
週番号文字列(E)

年文字列

年は 2 桁、または 4 桁での表示ができます。Week Year は少しわかりにくいですが、ISO の週番号と組み合わせて使うものです。

年文字列(J)
年文字列(E)

例えば、「GGGG-WW」のようにすると月曜始まりの年と週番号が設定できます。ISO の月曜始まりは、年の最初の木曜日が基準となるので、年によって1月1日がどちらの年に含まれるかは変化します。ここで 2026年1月1日は木曜日なので、この週は 2026-01 になります。一方、2026年12月31日が木曜日なので、この週は 2026-53 になります。

年の区切れ目

時間文字列

日本語では A, a は違いがありません。英語では大文字・小文字の違いがあります。これらは12時間制の h や hh と組み合わせて利用します。H や HH の時には使いません。24時間制で24 を使うことはほぼないので、k や kk を使う場面はあまり思いつきません。

分は漢字と組み合わせるときは m 、: で区切る時には mm を使うことが多いと思います。Notion では秒はほじされないので、s や ss は意味を持ちません。常に 0 や 00 が出力されるだけです。

タイムゾーンは表示通りです。Unix timestamp は timestamp(日付) の返り値を文字列にしたものになります。

時間文字列(J)
時間文字列(E)

おわりに

逆引きのページだと言語設定を変更しないと見比べることができないので、今回はスクリーンショットで比較しやすくしてみました。マニュアルとして参照してもらえるのではないかと思います。なお、ISO の週番号が年の初めの木曜日が基準となっているのは、なかなか知らない人が多そうな気がしました。