//可自由选择精确度
如:签到时间:2018-11-07 11:00:00
签退时间:2018-11-07 10:59:59
//判断时间先后
//统一格式
var a = $("#fdtmInDate").val();
var aa = a.split('T');
if (aa.length == 2) {
$("#fdtmInDate").val(aa[0] + " " + aa[1]);
}
a = $("#fdtmOffDate").val();
aa = a.split('T');
if (aa.length == 2) {
$("#fdtmOffDate").val(aa[0] + " " + aa[1]);
}
//判断天
var sdays = GetDateDiff1($("#fdtmInDate").val(), $("#fdtmOffDate").val(), "day");//天 执行到 这里sdays=0
if (sdays < 0) {
$.ligerDialog.warning("签到时间不能大于签退时间!"); 这个是框架的弹出框,用alter();是一样的
$("#fdtmEndDate").focus();
return false;
} else {
//判断小时
sdays = GetDateDiff1($("#fdtmInDate").val(), $("#fdtmOffDate").val(), "hour");//小时 这里sdays=0
if (sdays < 0) {
$.ligerDialog.warning("签到时间不能大于签退时间!");
$("#fdtmEndDate").focus();
return false;
} else {
//判断分钟
sdays = GetDateDiff1($("#fdtmInDate").val(), $("#fdtmOffDate").val(), "minute");//分钟 这里sdays=0
if (sdays < 0) {
$.ligerDialog.warning("签到时间不能大于签退时间!");
$("#fdtmEndDate").focus();
return false;
} else {
//判断秒
sdays = GetDateDiff1($("#fdtmInDate").val(), $("#fdtmOffDate").val(), "second");//秒 这里sdays= - 1
if (sdays < 0) {
$.ligerDialog.warning("签到时间不能大于签退时间!"); //执行这里
$("#fdtmEndDate").focus();
return false;
}
}
}
}
//被调用的方法
function GetDateDiff1(startTime, endTime, diffType) {
//alert(endTime);
//将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式
startTime = startTime.replace(/-/g, "/");
endTime = endTime.replace(/-/g, "/");
//将计算间隔类性字符转换为小写
diffType = diffType.toLowerCase();
var sTime = new Date(startTime); //开始时间
var eTime = new Date(endTime); //结束时间
//作为除数的数字
var timeType = 1;
switch (diffType) {
case "second":
timeType = 1000;
break;
case "minute":
timeType = 1000 * 60;
break;
case "hour":
timeType = 1000 * 3600;
break;
case "day":
timeType = 1000 * 3600 * 24;
break;
default:
break;
}
return parseInt((eTime.getTime() - sTime.getTime()) / parseInt(timeType));
}