Formula(関数)を使った日付の相対表示

概要

日付形式のプロパティを元に、「x日前」、「 x時間前」のようなフォーマットで日付の相対表示をしたいときには、関数を使います。

相対時間に応じてフォーマットを変える場合には、分岐条件で振り分けます。


dateBetween(now(), prop("作成日"), "hours") > 24 ? format(dateBetween(now(), prop("作成日"), "days")) + "日前" : format(dateBetween(now(), prop("作成日"), "hours")) + " 時間前"


Tips1:

関数の最初の部分だけでも使用は可能ですが、算出結果に応じた表示単位の振り分けはできません。この場合、どの時間単位に整えたいかで最後の "hours" の部分を "days" や "months" などに変更します。


(dateBetween(now(), prop("日付"), "hours")

Tips2:

上の画像の関数を簡単な人の言葉で表すと、以下のような意味になります。少々難しいですが、意味が分かれば月単位や年単位にも応用ができます。


(dateBetween(now(), prop("日付"), "hours") > 24) ?

→今と”日付”プロパティの差を時間単位で表す。それが24時間を超える場合は


(format(dateBetween(now(), prop("日付"), "days")) + "日前") :

→日単位で表し、末尾に「日前」という文字列を付ける。それ以外の場合は


(format(dateBetween(now(), prop("日付"), "hours")) + "時間前")

→時間単位で表し、末尾に「時間前」という文字列を付ける。

記事を評価 ありがとうございます! 失敗しました