トーク

ユーザー画像
2021/10/05 13:30

翌月などの日付の計算のアイディア募集といいますかお願いです。私アイディア募集ばかりな気がしますが。。。

指定月数の同日を計算させたいのですが、様々参考にしても解になかなかたどり着けません。。
基準日フィールド
指定月数フィールド
結果日フィールド
の3フィールドで計算しますが、例えば

1/21の12か月後は1/21、15か月後は4/21としたいのですが、よく公式でも見かける方法ですが31*24*60*60*指定月といった形だと各月ごとに日数は違うためずれることがあります。
Qiitaの「1か月後の日付をkintoneの標準機能で計算」エントリを参考にしても
指定月数が多いとずれることが出てきます。。。



そこで結果日フィールドを日付フィールドにせず文字列フィールドで&でつなげてしまう方法になるかもしれないかなと。
基準日に対してDATE_FORMAT関数で年月日をそれぞれ抜き出し、指定月数だけ月に合計していく。もちろん、IF関数で年をまたぐような場合は対策すれば見た目上は指定月だけ足しこんだものが出来るイメージを持っています。

とはいえ出来たら結果日フィールドも日付フィールドにて対応したいところですので良いアイディアがあったらご教示いただけると大変助かります。


この投稿を共有する
閉じる
URLをコピー URLをコピー
2件のコメント (新着順)
ユーザー画像
ユーザー画像
中村徹
2021/10/09 21:46

jamjam さん
「指定月数後の日付をkintoneの標準機能で計算する」記事をQiitaに投稿しましたので、ご参考まで。
https://qiita.com/t0ru/items/4874ad6dff60020b346c

その記事でも下記のように言及していますが、「プラグインは導入できそう」とのこと、プラグインもご検討いただくといいと思います。

ただし、ここでは計算フィールドで変換しているため、リマインダー通知の基準日など、日付・日時フィールドであることが必要な機能に利用することはできません。日付・日時フィールドに計算結果を入力するには、JavaScriptカスタマイズやプラグインなどが必要です。

設定がややこしいので、簡単に試せるよう、アプリテンプレートを添付します。

picture_icon-02-02 指定月数後の日付を計算.zip


ユーザー画像
ユーザー画像
西村 志郎
2021/10/10 10:28

中村さん

さっそくやってみました!日付フィールドでなくてもよいということになれば、まさにこれでいけますね!^^
アプリテンプレートありがとうございます!


ユーザー画像
ユーザー画像
jamjam
2021/10/11 14:42

す、すごいです。ありがとうございます!
うるう年まで対応できてるとは鳥肌モノです!

プラグインの方を試しましたが残念ながら使い勝手にケチがつき、計算フィールドでやるかと憂鬱な気持ちだったところで投稿いただいたので本当に助かります。こちら参考に作成させていただきます!


ユーザー画像
ユーザー画像
西村 志郎
2021/10/05 20:21

jamjamさん

日付に関してはkintone界隈で、最近色々なノウハウが開発・共有されていますが、今回のjamjamさんのご希望は

>1/21の12か月後は1/21、15か月後は4/21としたい
>結果日フィールドも日付フィールドにて対応したい

ですね。結果日を日付フィールドにこだわらなければ、月だけ取り出して加算するような方法もいけそうですが、日付フィールドでとなると標準機能では難しいですね。JSカスタマイズかプラグインの検討になるかと思います。

そこで今回は、かりんこラボさんの「日付計算プラグイン」をテストしてみました。
https://caryncolabo.com/kintone_plugin/manipulatedays/

プロジェクト・アスノートの松田さんのcybozu developer networkでの回答も参考になると思います。
https://developer.cybozu.io/hc/ja/community/posts/900002854003-Kintone

私の環境での実行結果の画像を添付します。さくっとできました。^^

警告メッセージが表示されますが、ライセンスキー無しでも無期限でトライアル可能とのことですので、一度お試しされてみてはいかがでしょうか。^^



ユーザー画像
ユーザー画像
jamjam
2021/10/06 09:35

すごい、テストまでありがとうございます。
やはり標準機能ではここの壁は高そうですね。。
プラグインは導入できそうですので、これで試用し検討してみます。とても助かりました。ありがとうございます!