計算式プラグインで、翌月・年度計算などの日付計算が簡単にできます。
日付計算の編集画面例
「日付」項目を元に、いろいろな日付計算を行っています。
日付計算のプラグイン設定
JavaScript カスタマイズで必須の kintone API イベント(画面表示・項目値変更など)を意識することなく、日付の計算式を記述できます。
計算式には、関数と項目のフィールドコードを指定します。
OPTION: 非同期計算
// 日付A DATE (editable)
日付
// 数値 NUMBER
日付
// 年 SINGLE_LINE_TEXT
DATE_FORMAT(日付,"YYYY")
// 月 SINGLE_LINE_TEXT
DATE_FORMAT(日付,"M")
// 日 SINGLE_LINE_TEXT
DATE_FORMAT(日付,"D")
// 年月日 SINGLE_LINE_TEXT
DATE_FORMAT(日付,"YYYY年M月D日")
// 前日 DATE
DATE_ADD(日付,-1,"day")
// 翌日 DATE
DATE_ADD(日付,1,"day")
// 前月 DATE
DATE_ADD(日付,-1,"month")
// 翌月 DATE
DATE_ADD(日付,1,"month")
// 前年 DATE
DATE_ADD(日付,-1,"year")
// 翌年 DATE
DATE_ADD(日付,1,"year")
// 月初 DATE
DATE_FORMAT(日付,"YYYY-MM-01")
// 月末 DATE
DATE_ENDOF(日付,"month")
// 翌月末 DATE
DATE_ENDOF(DATE_ADD(日付,1,"month"),"month")
// 翌々月末 DATE
DATE_ENDOF(DATE_ADD(日付,2,"month"),"month")
// 年初 DATE
DATE_FORMAT(日付,"YYYY-01-01")
// 年末 DATE
DATE_ENDOF(日付,"year")
// 年度 NUMBER
FISCAL_YEAR(日付, 年度始め)
// 年度初日 DATE
LET(
fiscalStart, 年度始め, // 年度開始月日(例: "04-01")
day, 日付, // 対象日(1回のみ使用)
year, FISCAL_YEAR(day, fiscalStart), // 年度開始年(未入力なら "")
IF(year, year & "-" & fiscalStart) // 年度初日(空なら "" を返す)
)
// 年度末日 DATE
LET(
fiscalStart, 年度始め, // 年度開始日
day, 日付, // 日付
year, FISCAL_YEAR(day, fiscalStart), // 今日が属する年度(開始年)
nextStart, year + 1 & "-" & fiscalStart, // 翌年度の開始日(YYYY-MM-DD)
IF(year, DATE_ADD(nextStart, -1, "day")) // 年度終了日 = 翌年度開始日の前日
)
// 当日 DATE
TODAY()
// テーブル.日付T DATE
日付
// テーブル.日付計算 DATE (editable)
DATE_ADD(日付T,数値T,
SWITCH(年月日区分,"年","year",
"月","month",
"day"))
日付の計算式
日付項目を計算式にそのまま指定すると、1970-01-01 を起点に秒換算した数値として扱います。
- 日付A:日付
- 日付項目に「日付」と同じ値を設定する場合、項目をそのまま指定できます。
- 数値:日付
- 数値項目に「日付」を指定すると、日付が秒単位に換算されます。
- 年:DATE_FORMAT(日付,"YYYY")
- 月:DATE_FORMAT(日付,"M")
- 日:DATE_FORMAT(日付,"D")
- 年月日:DATE_FORMAT(日付,"YYYY年M月D日")
DATE_ADD 関数で、計算
- 前日:DATE_ADD(日付,-1,"day")
- 翌日:DATE_ADD(日付,1,"day")
- 前月:DATE_ADD(日付,-1,"month")
- 翌月:DATE_ADD(日付,1,"month")
- 前年:DATE_ADD(日付,-1,"year")
- 翌年:DATE_ADD(日付,1,"year")
月末・年末等
- 月初:DATE_FORMAT(日付,"YYYY-MM-01")
- 月末:DATE_ENDOF(日付,"month")
- 翌月末:DATE_ENDOF(DATE_ADD(日付,1,"month"),"month")
- 翌々月末:DATE_ENDOF(DATE_ADD(日付,2,"month"),"month")
- 年初:DATE_FORMAT(日付,"YYYY-01-01")
- 年末:DATE_ENDOF(日付,"year")
年度計算
FISCAL_YEAR 関数を使って計算
テーブル内項目の日付計算
日付Tに、数値Tと年月区分で日付計算する例です。
値の変更や行追加時も自動的に、計算されます。
※ 2020/01/30 に、+1月すると、2020/02/29 と2月の月末として計算されます。

テーブル内項目の計算式設定例
日付計算:DATE_ADD(日付T,数値T,SWITCH(年月日区分,"年","year","月","month","day"))
※ SWITCH 関数で、"年", "月", "日"を "year", "month", "day" に変換しています。

あとがき
kintone で、日付計算しようとするとかなり面倒ですが、計算式プラグインで簡単に指定できます。