Skip to content

Instantly share code, notes, and snippets.

Created September 9, 2014 03:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/f1a4f352f57d16e38045 to your computer and use it in GitHub Desktop.
Save anonymous/f1a4f352f57d16e38045 to your computer and use it in GitHub Desktop.
kintoneで有効期限日数があるモノに対して、期限の年月日を自動計算してくれるjavascript
// 20140909 kintoneで有効期限日数があるモノに対して、期限の年月日を自動計算してくれるスクリプト
(function() {
// フィールドコード名
const DURATION_DAYS = '有効期限日数'; // 30, 60, 180など日数で指定
const LIMIT_DATE = '有効期限の年月日'; // 有効期限年月日が入るフィールド。文字列型か年月日型
"use strict";
// 現在の年月日から、指定された日数後の年月日を返す
function getDateCalc(addDays) {
// 現在の年月日を取得
var date = new Date();
// 秒単位に変換
var baseSec = date.getTime();
// 加算する日数も秒単位に変換
var addSec = addDays * 86400000;
// 何日後の日数を取得(秒単位)
var targetSec = baseSec + addSec;
// Date型に変換する
date.setTime(targetSec);
return date;
}
// レコード作成時or編集時
kintone.events.on(['app.record.create.submit', 'app.record.edit.submit'], function (event) {
// 保存前の画面上のレコード
var record = event.record;
// 期限日数を取得
var duration = record[DURATION_DAYS]['value'];
// 計算した期限年月日を取得
var add_date = getDateCalc(duration);
//年月日形式に変換
var yyyy_mm_dd = add_date.getFullYear() + "-" + (add_date.getMonth() + 1) + "-" + add_date.getDate();
// 期限年月日を代入
record[LIMIT_DATE]['value'] = yyyy_mm_dd;
return event;
});
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment