Javascript 如何计算AM-PM格式的时差

Javascript 如何计算AM-PM格式的时差,javascript,web,Javascript,Web,我使用的是jsp页面,我想计算开始时间到结束时间的时间差,以及鞋子到总时间输入的时间差,输入值为readOnly=“true” 功能TSTimediff(计数器){ var start=document.getElementById(“activitylogFrom”+counter).value; var end=document.getElementById(“activitylogTo”+计数器).value; 如果(开始>结束){ 警报(“从时间必须小于到时间”); console.lo

我使用的是jsp页面,我想计算开始时间到结束时间的时间差,以及鞋子到总时间输入的时间差,输入值为readOnly=“true” 功能TSTimediff(计数器){

var start=document.getElementById(“activitylogFrom”+counter).value;
var end=document.getElementById(“activitylogTo”+计数器).value;
如果(开始>结束){
警报(“从时间必须小于到时间”);
console.log(开始+“:”+结束)
}
else if(结束>开始){
start.split(“:”);
结束.拆分(“:”);
var startDate=新日期(0,0,0,开始[0],开始[1],0);
var endDate=新日期(0,0,0,结束[0],结束[1],0);
var total=endDate.getTime()-startDate.getTime();
console.log(总计)
var小时=数学楼层(总计/1000/60/60);
总计-=小时*1000*60*60;
var分钟=数学楼层(总计/1000/60);
返回(小时<9?“0”:“)+小时+”:“+(分钟<9?“0”:“)+分钟;
}
总计=document.getElementById(“activitylogTotalTime”);
}
*强调文本*

我假设您有两个类型为=“time”的输入字段。下面是一种获得同一天时间差的方法

document.addEventListener(“DOMContentLoaded”,函数(){
document.getElementById(“diff”).addEventListener(“单击”,函数)(){
const startVal=document.getElementById(“activitylogFrom”).value;
const start=startVal.split(“:”);
const endVal=document.getElementById(“activitylogTo”).value;
const end=endVal.split(“:”);
const startTime=新日期();
startTime.setHours(开始[0]);
startTime.setMinutes(开始[1]);
const endTime=新日期();
endTime.setHours(end[0]);
endTime.setMinutes(end[1]);
如果(开始时间>结束时间){
警报(“从时间必须小于到时间”);
控制台日志(startVal+“-”+endVal);
}否则{
让diffInMinutes=(endTime-startTime)/1000/60;
常数小时=数学楼层(分/秒/60);
const minutes=diffInMinutes%60;
常量总计=
(小时数<10?“0”:“)+
小时数+
":" +
(分钟<10?“0”:“”)+
会议记录;
document.getElementById(“activitylogTotalTime”).innerHTML=total;
}
});
});

开始
终点
总时间:
差异
var start = document.getElementById("activitylogFrom"+counter).value;
var end =   document.getElementById("activitylogTo"+counter).value;
if(start > end){
    alert("From Time Must Be less than To Time");
    console.log(start+":"+end)
}
else if(end > start){
    start.split(':');
    end.split(':');
    var startDate = new Date(0, 0, 0, start[0], start[1], 0);
    var endDate = new Date(0, 0, 0, end[0], end[1], 0);
    var total = endDate.getTime() - startDate.getTime();
    console.log(total)

    var hours = Math.floor(total / 1000 / 60 / 60);
    total -= hours * 1000 * 60 * 60;
    var minutes = Math.floor(total / 1000 / 60);
    return (hours < 9 ? "0" : "") + hours + ":" + (minutes < 9 ? "0" : "") + minutes;
    }
    
    total = document.getElementById("activitylogTotalTime");
    
 }
*emphasized text*