moment.js에서 두 날짜와 시간의 차이를 계산합니다. (kintone편)
두 날짜와 시간의 차이를 계산합니다.
최근 킨톤의 커스터마이즈만
최근, kintone의 커스터마이즈를 js로 골고루 쓰는 일 밖에 없는 느낌이 듭니다만, 일시 차분을 취해, 소정의 시간을 넘고 있으면 입력란의 배경을 붉게 해, 여러가지 있고, 그때마다 생각하고 있었으므로 비망록으로서 메모.
전제 조건
kintone으로 앱을 사용자 정의 할 때 moment.js를로드하는 것을 잊지 마십시오.
예를 들면
kintone으로 타임 카드 앱을 만들었다고 하네요 ...
시작, 종료,에 각각 유저 타각 받고, 양쪽에 값이 들어간 상태로 「저장」하면, 「계산」란에 양자의 차분 시간이 들어가는, 뭐라고 하고 싶은 경우입니다.
소스 예
sample.js // レコード保存時休憩時間計算
kintone.events.on(["app.record.edit.submit"], function(event){
var record = event.record;
// 休憩開始と終了が入っていれば計算する
if(record['休憩開始']['value'] !== undefined && record['休憩終了']['value'] !== undefined){
const timeFrom = moment(record['休憩開始']['value']);
const timeTo = moment(record['休憩終了']['value']);
let result = timeTo.diff(timeFrom);
record['休憩時間計算']['value'] = moment.utc(result).format('HH:mm');
}
return event;
});
저장 시 동작
첫
sample.js // レコード保存時休憩時間計算
kintone.events.on(["app.record.edit.submit"], function(event){
});
라고 하는 것은, 편집으로부터, 보존 실행시의 경우, 라고 하는 kintone의 작법적 코드입니다만, edit이므로, 신규 작성시는 이 프로그램은 동작하지 않습니다. 신규 작성, 편집시, 불문하고, 동작시키고 싶은 경우는 이런 느낌.
sample.js // レコード保存時休憩時間計算
kintone.events.on(["app.record.create.submit","app.record.edit.submit"], function(event){
});
계산
sample.js // 休憩開始と終了が入っていれば計算する
if(record['休憩開始']['value'] !== undefined && record['休憩終了']['value'] !== undefined){
const timeFrom = moment(record['休憩開始']['value']);
const timeTo = moment(record['休憩終了']['value']);
let result = timeTo.diff(timeFrom);
record['休憩時間計算']['value'] = moment.utc(result).format('HH:mm');
}
「휴식 개시」와 「휴식 종료」에 값이 있는 것을 확인한 후, 각각 const 정의에 담아, diff를 취하고 있을 뿐이군요. 이 경우는, 휴식 시간의 계산이므로, 1일 걸어라든가는 사양으로서 있을 수 없기 때문에, 포맷은 「HH:mm」로 하고 있습니다.
Reference
이 문제에 관하여(moment.js에서 두 날짜와 시간의 차이를 계산합니다. (kintone편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/saitohsan/items/d218605701baea60d899
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
// レコード保存時休憩時間計算
kintone.events.on(["app.record.edit.submit"], function(event){
var record = event.record;
// 休憩開始と終了が入っていれば計算する
if(record['休憩開始']['value'] !== undefined && record['休憩終了']['value'] !== undefined){
const timeFrom = moment(record['休憩開始']['value']);
const timeTo = moment(record['休憩終了']['value']);
let result = timeTo.diff(timeFrom);
record['休憩時間計算']['value'] = moment.utc(result).format('HH:mm');
}
return event;
});
// レコード保存時休憩時間計算
kintone.events.on(["app.record.edit.submit"], function(event){
});
// レコード保存時休憩時間計算
kintone.events.on(["app.record.create.submit","app.record.edit.submit"], function(event){
});
// 休憩開始と終了が入っていれば計算する
if(record['休憩開始']['value'] !== undefined && record['休憩終了']['value'] !== undefined){
const timeFrom = moment(record['休憩開始']['value']);
const timeTo = moment(record['休憩終了']['value']);
let result = timeTo.diff(timeFrom);
record['休憩時間計算']['value'] = moment.utc(result).format('HH:mm');
}
Reference
이 문제에 관하여(moment.js에서 두 날짜와 시간의 차이를 계산합니다. (kintone편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/saitohsan/items/d218605701baea60d899텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)