設定日付の月と今日の月の比較

 納期予定(日付)というフィールドがあり、日にち関係なく納期予定が今月になったら色を変えるという仕様にしたいです。

条件書式プラグインでは「今日から何日前」という設定しかできないので、自分でJavascriptでカスタマイズしようと考えています。

今月の値をとりそれをレコードの月と比較するというのが、調べても分からず困っています、、、。

どなたかお力添えしていただけませんか。

natsuki様

お世話になっております。 cstapの江田と申します。

Dateオブジェクトを作成して、getMonth()メソッドを用いることで月を取得できます。 https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Date https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Date/getMonth

(function(){"use strict";kintone.events.on('app.record.index.show',function(event){varthisMonth=newDate().getMonth();vardeliveryScheduleFields=kintone.app.getFieldElements('納期予定');event.records.forEach(function(record,index){if(newDate(record.納期予定.value).getMonth()===thisMonth){deliveryScheduleFields[index].style.background='#f00';}});});})();

cstap 江田様

返信ありがとうございます。

ご丁寧にソースまで教えていただき大変助かりました。

早速江田様のコメントを参考に書きましたらうまくいきました!本当にありがとうございます。

今後ともよろしくお願いいたします。

natsuki様

お世話になっております。

足し算でも引き算でもどちらでも問題ないかと思います。
ご提示いただいたコードに関して、setFullYear()の戻り値は年数ではなく1970年1月1日00:00:00から数えたミリ秒単位の数となるので想像している動作とは異なるかと思います。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Date/setFullYear
また、月と日は0でパディングしておく必要があります。

varnextdt=(today.getFullYear()+1)+'-'+('0'+(today.getMonth()+1)).slice(-2)+'-'+('0'+today.getDate()).slice(-2);

cstap 江田様

早急のお返事ありがとうございます。

江田様のおっしゃる通りに修正したら、思った通りの動作になりました!

勉強を始めて2週間の私でも分かりやすい説明で、大変助かります。ありがとうございました。

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。