在我的网络应用程序表单中,我有两个字段称为 startTime,closeTime,它们在表的每一行中重复。现在我要验证从第一行的 startTime 到最后一行的 closeTime 的 24 小时(1440 分钟)。但用户输入12 小时格式的时间表示如果第一行的 startTime 是上午 08:00,那么我要检查到第二天上午 08:00(我要转换为分钟的每一件事)。我尝试了多种方式,但无法计算缺失在上午到下午/下午到上午请帮助我。以下是我的代码(点击它会被调用的每一行的第一列)
var timeArray=[""],timeArray1=[""],timeNoon,closeNoon,temp=0,sumTime=0;
function checkTime(){
var startTime,closeTime;
if(rowIndex!=0){//rowIndex is current row index
startTime=document.getElementById("logSheetDataTable").rows[rowIndex-1].cells[j].childNodes[0].tBodies[0].rows[0].cells[1].childNodes[0].value;
closeTime = document.getElementById("logSheetDataTable").rows[rowIndex-1].cells[j].childNodes[0].tBodies[0].rows[1].cells[1].childNodes[0].value;
timeNoon=startTime.substring(6);//to get am or pm
startTime = startTime.substring(0,5);//to get tome 08:00
timeArray = startTime.split(":");
closeNoon=closeTime.substring(6);//to get am or pm
closeTime1=closeTime.substring(0,5);
timeArray1=closeTime1.split(":");
if(timeNoon.toLowerCase()=="pm"){
startMin=parseInt((timeArray[0]*60))+parseInt(timeArray[1])+720;
}else if(timeNoon.toLowerCase()=="am"){
startMin=parseInt((timeArray[0]*60))+parseInt(timeArray[1]);
}
if(closeNoon.toLowerCase()=="pm"){
endMin=parseInt((timeArray1[0]*60))+parseInt(timeArray1[1]+720);
}else if(closeNoon.toLowerCase()=="am"){
endMin=parseInt((timeArray1[0]*60))+parseInt(timeArray1[1]);
}
if(startMin<endMin){
temp=endMin-startMin;
}else if(startMin>endMin){
temp=(1440-startMin)+endMin;
}
sumTime=sumTime+temp;
alert("sum: "+sumTime);
}
对于 sumTime 我已经检查了 1440 分钟。