LoginSignup
1
2

More than 1 year has passed since last update.

1か月後の日付をkintoneの標準機能で計算

Last updated at Posted at 2020-07-06

1か月後の日付とは

例1

日付
7月6日

1か月後の日付
8月6日

例2

ただし、月末などで1か月後の同じ日がない場合は、翌々月の1日とします。

日付
1月31日

1か月後の日付
3月1日

参考

翌月末の日付をkintoneの標準機能で計算

考え方

1.日付に31日をたす

kintoneでは日時や日付を秒単位で扱うため、計算式でも秒単位で指定します。
(日付+31*24*60*60)

2.元の日(日付の年月日の「日」)=後の日(1か月後の年月日の「日」)ならOK

日は、DATE_FORMAT(日付,"d","Etc/GMT")で求められます。

3.元の日<後の日なら、後の日=元の日とする

月数が31日未満の4月など、4月10日の31日後が5月11日になるので、
(11日-10日)*24*60*60を後の日から差し引いて、5月10日にします。

4.元の日>後の日なら、後の日=1とする

月末の31日後が翌々月になる1月など、1月31日の31日後が3月3日になるので、
(3日-1日)*24*60*60を後の日から差し引いて、3月1日にします。

※計算式のIF関数をシンプルにするために、先に上記4の条件式で判定して、
満たさない場合に上記3の計算をし、上記2も兼ねます(同じ日なら0を差し引くことになるので)。

kintoneのアプリ

※フィールドコードはフィールド名と同じにします。

完成イメージ

翌月の同じ日.gif

元の日付

・日付 [日付フィールド]

計算用

・日1 [計算フィールド]
 計算式 : DATE_FORMAT(日付,"d","Etc/GMT")
 表示形式 : 数値

・日付2 [計算フィールド]
 計算式 : 日付+31*24*60*60
 表示形式 : 日付

・日2 [計算フィールド]
 計算式 : DATE_FORMAT(日付2,"d","Etc/GMT")
 表示形式 : 数値

1か月後の日付

・翌月の同じ日 [計算フィールド]
 計算式 : IF(日1>日2,日付2-(日2-1)*24*60*60,日付2-(日2-日1)*24*60*60)
 表示形式 : 日付

1
2
1

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
1
2