はじめに
「日付を計算する」で「○か月後」を指定した場合、基準日が月末の場合は指定した月でも月末に調整されます。
例としては、
基準日:2022/3/31 → 1ヶ月後:2022/4/30
基準日:2020/1/31 → 1ヶ月後:2020/2/29
などです。
しかし、利用する環境によっては
基準日:2022/3/31 → 1ヶ月後:2022/5/01
のように、同じ日がない場合は翌月1日に設定したいというケースがあると思います。
今回は、その方法を紹介します。
今回のカスタマイズで出来ること
○ヶ月後の同日がない場合は○ヶ月後の翌月1日にします
○ヶ月後の同日がある場合は○ヶ月後の同日にします
アプリには以下のフィールドを作成しました
Customineの設定
全体の設定はこのようになります。
「フィールドの値を編集して値が変わった時」に「日付を計算する」で計算するところまでは通常通りです。
その後に「他のアクションの実行が完了した時」で「月数を計算する」とします。
この時に「月数を計算する」の「月内の日の取り扱い」を「月内の日も考慮」にして、終了日は「日付を計算する」のアクション番号を指定します。
これで「月数を計算する」の結果は、日が未満の場合には「日付を計算する」の右辺値 - 1(今回だと 1-1 = 0)になり、以上だと右辺値(今回だと 1)になります。
例:
基準日が2022/3/30で計算した日が2022/4/30だと1
基準日が2022/3/31で計算した日が2022/4/30だと0
基準日が2022/3/30で計算した日が2022/9/30だと6
基準日が2022/3/31で計算した日が2022/9/30だと5
今回は「日付を計算する」で1ヶ月後を指定しているので、「アクションの結果が特定の値ならば」で0の場合に「日付を計算する」で翌日にします。これで、翌月の1日に変わります。
まとめ
○ヶ月先の日付はルールが色々とあると思いますので、みなさんもお試しください。