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")) + "時間前")
→時間単位で表し、末尾に「時間前」という文字列を付ける。