js 계산 시차
6157 단어 js
function calctimelong(obj, guid) {
$('#TimeLong' + guid).val('0');
var date = $('#OvertimeDate' + guid).val().trim();
var workstart = $('#WorkStartTime' + guid).val().trim();
var workend = $('#WorkEndTime' + guid).val().trim();
var reststart = $('#RestStartTime' + guid).val().trim();
var restend = $('#RestEndTime' + guid).val().trim();
if (!testTimeFormatter(workstart) || !testTimeFormatter(workend) || !testTimeFormatter(reststart) || !testTimeFormatter(restend)) {
$('#WorkStartTime' + guid).val('00:00');
$('#WorkEndTime' + guid).val('00:00');
$('#RestStartTime' + guid).val('00:00');
$('#RestEndTime' + guid).val('00:00');
$('#TimeLong' + guid).val('0');
$.messager.alert(" ", " ", "Info", function () {
});
return;
}
if (date == '' || workstart == '' || workstart == '00:00' || workend == '' || workend == '00:00') return;
var dt1 = Date.parse(new Date((date + " " + workstart).replace(/-/g, "/")));
var dt2 = Date.parse(new Date((date + " " + workend).replace(/-/g, "/")));
var rdt1 = Date.parse(new Date((date + " " + reststart).replace(/-/g, "/")));
var rdt2 = Date.parse(new Date((date + " " + restend).replace(/-/g, "/")));
if (dt1.toString() == 'NaN' || dt2.toString() == 'NaN' || rdt1.toString() == 'NaN' || rdt2.toString() == 'NaN') {
$('#WorkStartTime' + guid).val('00:00');
$('#WorkEndTime' + guid).val('00:00');
$('#RestStartTime' + guid).val('00:00');
$('#RestEndTime' + guid).val('00:00');
$('#TimeLong' + guid).val('0');
$.messager.alert(" ", " ", "Info", function () {
});
return;
}
// ,
var cur1 = Date.parse(new Date((date + " 00:00:00").replace(/-/g, "/")));
var cur2 = Date.parse(new Date((date + " 05:00:00").replace(/-/g, "/")));
var cur3 = Date.parse(new Date((date + " 23:59:59").replace(/-/g, "/")));
if (dt1 >= cur1 && dt1 < cur2 && dt2 >= cur1 && dt2 < cur2) {
dt1 = dt1 - 1 * 24 * 60 * 60 * 1000;
dt2 = dt2 - 1 * 24 * 60 * 60 * 1000;
} else if (dt1 >= cur1 && dt1 < cur2) {
if (workstart != "00:00" && workend != "00:00" && reststart != "00:00" && restend != "00:00") {
$('#WorkEndTime' + guid).val('00:00');
$.messager.alert(" ", " ", "Info");
}
}
if (dt1 >= cur2 && dt1 <= cur3 && dt2 >= cur1 && dt2 < cur2) {
dt2 = dt2 + 1 * 24 * 60 * 60 * 1000;
}
if (rdt1 >= cur1 && rdt1 < cur2 && rdt2 >= cur1 && rdt2 < cur2) {
rdt1 = rdt1 - 1 * 24 * 60 * 60 * 1000;
rdt2 = rdt2 - 1 * 24 * 60 * 60 * 1000;
} else if (rdt1 >= cur1 && rdt1 < cur2) {
if (workstart != "00:00" && workend != "00:00" && reststart != "00:00" && restend != "00:00") {
$('#WorkEndTime' + guid).val('00:00');
$.messager.alert(" ", " ", "Info");
}
}
if (rdt1 >= cur2 && rdt1 <= cur3 && rdt2 >= cur1 && rdt2 < cur2) {
rdt2 = rdt2 + 1 * 24 * 60 * 60 * 1000;
}
if (workstart != "00:00" && workend != "00:00") {
if (dt1 > dt2) {
$('#WorkStartTime' + guid).val('00:00');
$('#WorkEndTime' + guid).val('00:00');
$.messager.alert(" ", " ", "Info");
return;
}
}
if (reststart != "00:00" && restend != "00:00") {
if ((reststart != '00:00' && reststart != '') && (restend != '00:00' && restend != '')) {
if (rdt1 > rdt2) {
$('#RestStartTime' + guid).val('00:00');
$('#RestEndTime' + guid).val('00:00');
$.messager.alert(" ", " ", "Info");
return;
}
}
}
if (workstart != "00:00" && workend != "00:00" && reststart != "00:00" && restend != "00:00") {
if ((reststart != '00:00' && reststart != '') || (restend != '00:00' && restend != '')) {
if (dt1 > rdt1) {
$('#RestStartTime' + guid).val('00:00');
$('#RestEndTime' + guid).val('00:00');
$.messager.alert(" ", " ", "Info");
return;
}
if (rdt2 > dt2) {
$('#RestStartTime' + guid).val('00:00');
$('#RestEndTime' + guid).val('00:00');
$.messager.alert(" ", " ", "Info");
return;
}
}
}
var difdt4 = 0;
if ((reststart != '00:00' && reststart != '') && (restend != '00:00' && restend != '')) {
difdt4 = rdt2 - rdt1;//
}
var difdt3 = dt2 - dt1;// +
//
var hours = ((difdt3 - difdt4) / (3600 * 1000)).toFixed(2);
$('#TimeLong' + guid).val(hours);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[2022.04.19] 자바스크립트 this - 생성자 함수와 이벤트리스너에서의 this18일에 this에 대해 공부하면서 적었던 일반적인 함수나 객체에서의 this가 아닌 오늘은 이벤트리스너와 생성자 함수 안에서의 this를 살펴보기로 했다. new 키워드를 붙여 함수를 생성자로 사용할 때 this는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.