Javascript 当我从文本框中减去两个时间(移位时间)并在文本框中显示输出时,该值返回为未定义

Javascript 当我从文本框中减去两个时间(移位时间)并在文本框中显示输出时,该值返回为未定义,javascript,jquery,html,Javascript,Jquery,Html,时差 开始时间: 结束时间: 持续时间持续时间:-> 期间 -> 时间:-> -> 功能显示时间小时,分钟{ 返回时间

时差 开始时间:

结束时间:

持续时间

持续时间:

-> 期间 -> 时间:

->

-> 功能显示时间小时,分钟{ 返回时间<10?'0':+小时+ ':' + 分钟<10?'0':+分钟; } 函数计算\u timeformShiftStartTime,formShiftEndTime{ startTime=新日期'1-1-1'+FormshiftsStartTime; endTime=新日期'1-1-1'+formShiftEndTime; var差异=结束时间-开始时间; 差值//=1000*60;//换算成分钟 var小时数=数学地板差异/60; var mins=Math.floordifference%60; document.getElementById'formDuration'.innerHTML=showTimehours,min; } document.getElementById'formShiftEndTime'。onchange=函数{ var start=this.form.elements.formShiftStartTime.value; var end=this.form.elements.formShiftEndTime.value; //计算_timestart,end; document.getElementByIdformDuration.value=计算时间开始,结束; //$'formDuration'.valu计算时间开始,结束; };
选择第一个日期字段作为起始日期,第二个日期字段作为结束日期

计算是基于to-from进行的

单击“计算”,它将在文本字段中显示天数

检查控制台,它将显示毫秒和天

请让我知道它是否有效

函数计算{ var firstDate=document.getElementsByNamefirst[0]。值; var secondDate=document.getElementsByNamesecond[0]。值; var differenceInTime=Math.absnew DatesecondDate.getTime-new DatefirstDate.getTime; var differenceInDays=Math.ceildifferenceInTime/1000*3600*24; console.LogDifferenceTime+毫秒,DifferenceDays+天 document.getElementByIdoutput.value=差异日 } 从日期开始 迄今为止
让我知道它是否对你有用。快乐编码:

时差 开始时间:

结束时间:

期间 功能显示时间小时,分钟{ 返回时间<10?'0':+小时+ ':' + 分钟<10?'0':+分钟; } 函数计算\u timeformShiftStartTime,formShiftEndTime{ startTime=新日期'1-1-1'+FormshiftsStartTime; endTime=新日期'1-1-1'+formShiftEndTime; var差异=结束时间-开始时间; 差值//=1000*60;//换算成分钟 var小时数=数学地板差异/60; var mins=Math.floordifference%60; document.getElementById'formDuration'。值=showTimehours,min; } $formShiftEndTime.onchange,函数{ var startHour=$formShiftStartTime.val; var endHour=$formShiftEndTime.val; 计算_timestartHour,endHour; } $formShiftEndTime.onchange,函数{ var startHour=$formShiftStartTime.val; var endHour=$formShiftEndTime.val; 计算_timestartHour,endHour; //console.logstartHour; } 功能显示时间小时,分钟{ 返回时间<10?'0':+小时+ ':' + 分钟<10?'0':+分钟; } var startHour=$formShiftStartTime.val; var endHour=$formShiftEndTime.val; 函数计算\u timeformShiftStartTime,formShiftEndTime{ 如果$formShiftStartTime.val<$formShiftEndTime.val { startTime=新日期'1-1-1'+FormshiftsStartTime; endTime=新日期'1-1-1'+formShiftEndTime; } 否则{ startTime=新日期'1-1-1'+FormshiftsStartTime; endTime=新日期'1-2-1'+formShiftEndTime; } var差异=结束时间-开始时间; 差值//=1000*60;//换算成分钟 var小时数=数学地板差异/60; var mins=Math.floordifference%60; document.getElementById'formDuration'。值=showTimehours,min; } 时差 开始时间:

结束时间:

期间
您的代码在哪里?添加更多代码,代码部分中似乎没有任何内容。请花一些时间阅读帮助页面,特别是命名的部分,更重要的是,请阅读。您可能还想了解。对于给您带来的不便,我深表歉意。我现在已附上我的代码。有人能帮我吗?谢谢你的回复。但我不想要天与天之间的差异。我想要的是轮班时间之间的差异。轮班持续时间,我希望它基于onchange事件进行计算。如果我更改第二个输入框的值,那么它应该显示轮班平均数的结果。??输入和输出将有两个字段是的。轮班开始时间和轮班结束时间将是两个字段。我不想在这里显示日期。我想计算
计算两个字段之间的持续时间,我必须将其显示在文本框中。如果我使用注释的标记而不是输入标记,我的代码工作得很好。我又添加了一个答案,它工作得很好。请检查并让我知道是的。它起作用了,但对夜班时间不起作用。答案是用负值计算的。。我要求在文本字段和夜班显示它,但显示的值不正确。无论如何,谢谢:将检查并更新它:快乐编码。据我所知,夜班意味着08:00:PM到06:00:AM应该显示12小时,不是。是的。但是,由于我使用24小时格式,这里的夜班意味着18:00-06:00应该显示12小时