0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

rex0220 計算式プラグイン 日付計算

Last updated at Posted at 2020-07-03

計算式プラグインで、翌月・年度計算などの日付計算が簡単にできます。

日付計算の編集画面例

「日付」項目を元に、いろいろな日付計算を行っています。

2025-08-06_23h56_20.png

日付計算のプラグイン設定

JavaScript カスタマイズで必須の kintone API イベント(画面表示・項目値変更など)を意識することなく、日付の計算式を記述できます。
計算式には、関数と項目のフィールドコードを指定します。

2025-08-06_23h57_28.png

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月の月末として計算されます。

2020-07-03_11h43_15.png

テーブル内項目の計算式設定例

日付計算:DATE_ADD(日付T,数値T,SWITCH(年月日区分,"年","year","月","month","day"))

※ SWITCH 関数で、"年", "月", "日"を "year", "month", "day" に変換しています。

2020-07-03_11h43_01.png

あとがき

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

0
2
12

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?