計算式プラグインで6ヶ月後の前日計算を行ってみました。
概要
結果が分かりやすいように、テーブルに日付、6ヶ月後、6か月後の前日を表示します。
開始日付、終了日付に指定した範囲をテーブルに展開します。
「6ヶ月後の前日」の計算式は、下記のように簡単に記述できます。
- 計算式の例
DATE_ADD(DATE_ADD(日付,6,"month"),-1,"day") // 6ヶ月後の前日
画面レイアウト
開始日付と終了日付。テーブルには、番号と日付を並べます。
計算式プラグイン設定
開始日付と終了日付の日数をテーブル行数にします。
日付は、開始日付にテーブル行位置を加算
※「日付_6ヶ月後の前日」の計算式は LET 関数を使っています。
.js
// テーブル
DATE_DIFF(開始日付,終了日付,"days")+1
// 番号
ROWNO(テーブル)+1
// 日付
DATE_ADD(開始日付,ROWNO(テーブル),"day")
// 日付_6ヶ月後
DATE_ADD(日付,6,"month")
// 日付_6ヶ月後の前日
LET(
a,DATE_ADD(日付,6,"month"), // 6ヶ月後
DATE_ADD(a,-1,"day") // 6ヶ月後の前日
)
LET 関数の解説
LET 関数で変数を使うと、ネストが深い計算式を分かりやすく記述できます。
LET 関数を使わない例.js
DATE_ADD(DATE_ADD(日付,6,"month"),-1,"day") // 6ヶ月後の前日
変数a に6ヶ月後の日付を入れて、a の前日を求めます。
LET 関数を使った例.js
LET(
a,DATE_ADD(日付,6,"month"), // 6ヶ月後
DATE_ADD(a,-1,"day") // 6ヶ月後の前日
)
DATE_ADD 関数(日付加算)の解説
日付、日時に指定した単位(type)の値を加算します。
マイナスの値を加算することで、減算できます。
- DATE_ADD(formula|"TODAY", num, type[, format])
- formula : fieldcode, string, number, "TODAY"
- fieldcode: 日付
- string: (ex:"2023-07-12")
- number: (ex:1689151920) ※ "2023-07-12" の UNIX時間
- "TODAY": 本日の日時 "YYYY-MM-DD HH:MM"
- num: 数値、formula
- type : "year", "month", "week", "day", "hour", "minute", "second"
- format : default("YYYY-MM-DD")
- ※DATE_ADDは、moment.js というライブラリを使っており、その書式が使えます。
- moment.js の書式
- formula : fieldcode, string, number, "TODAY"