Javascript 使用jQuery计算22:00(今天)和06:00(明天)之间的小时数
我想用javascript或jquery计算22:00(今天)到06:00(明天)之间的小时数。如果开始时间=23:10,停止时间=05:20 工作时间为06:10,因为从23:10(今天)到05:20(明天)有06:10小时 我有两个输入字段:Javascript 使用jQuery计算22:00(今天)和06:00(明天)之间的小时数,javascript,jquery,time,Javascript,Jquery,Time,我想用javascript或jquery计算22:00(今天)到06:00(明天)之间的小时数。如果开始时间=23:10,停止时间=05:20 工作时间为06:10,因为从23:10(今天)到05:20(明天)有06:10小时 我有两个输入字段: <input type="text" name="startTime" autocomplete="off" style="display:inline;width: 90px;" id="startTime" class="timepicker
<input type="text" name="startTime" autocomplete="off" style="display:inline;width: 90px;" id="startTime" class="timepicker"/>
<input type="text" name="stopTime" autocomplete="off" style="display: inline;width: 90px;" id="stopTime" class="timepicker1"/>
此javascript代码可以工作,但只计算00:00到23:45之间的小时数,例如,如果开始时间=00:00,停止时间=23:45,则工作值=23:45,这是正确的。但如果开始时间是22:00(例如),停止时间是01:00,则我的工作值不正确。现在是00:00,但必须是03:00。请帮我解决这个问题!
对不起,我的英语不太好 当您使用00:00和23:45计算此计算时,它将给出正结果所以可以,但在相反的情况下,假设23:45 00:00,它将给出负结果
var diff = ( new Date("1970-1-1 " + end_time) - new Date("1970-1-1 " + start_time) ) / 60000 / 60;
当你用00:00和23:45计算这个计算时,它给出了正结果,所以可以,但在相反的情况下,假设23:45 00:00,它将给出负结果
var diff = ( new Date("1970-1-1 " + end_time) - new Date("1970-1-1 " + start_time) ) / 60000 / 60;
您可以使用在代码段中,您可以显示一个示例
let now=“10/10/2018 15:00:00”;
let then=“07/10/2018 14:20:30”;
设ms=moment(现在是“DD/MM/YYYY HH:MM:ss”).diff(moment(然后是“DD/MM/YYYY HH:MM:ss”);
设d=力矩、持续时间(ms);
设s=Math.floor(d.asHours())+moment.utc(ms.format(“:mm:ss”);
document.getElementById(“时间”).innerText=s
您可以使用在代码段中,您可以显示一个示例
let now=“10/10/2018 15:00:00”;
let then=“07/10/2018 14:20:30”;
设ms=moment(现在是“DD/MM/YYYY HH:MM:ss”).diff(moment(然后是“DD/MM/YYYY HH:MM:ss”);
设d=力矩、持续时间(ms);
设s=Math.floor(d.asHours())+moment.utc(ms.format(“:mm:ss”);
document.getElementById(“时间”).innerText=s
使用您文章中的信息,即您只有两个没有日期信息的时间字符串,您可以使用Vanilla JavaScript执行以下操作:
const ge=id=>document.getElementById(id);
常数res=ge('result')、st=ge('start')、en=ge('end');
document.forms[0]。addEventListener('keyup',函数(el){
res.innerHTML=新日期(新日期('1970-1-2'+英文值)
-新日期('1970-1-1'+圣值)).TogmString().substr(17,5);
})
开始
结束
使用您文章中的信息,即您只有两个没有日期信息的时间字符串,您可以使用Vanilla JavaScript执行以下操作:
const ge=id=>document.getElementById(id);
常数res=ge('result')、st=ge('start')、en=ge('end');
document.forms[0]。addEventListener('keyup',函数(el){
res.innerHTML=新日期(新日期('1970-1-2'+英文值)
-新日期('1970-1-1'+圣值)).TogmString().substr(17,5);
})
开始
结束
它在00:00返回我
你确定吗?我本以为会是负面的。。。检查diff
是否为负值。。。如果是这样的话,加上24个,你可以在这里看到演示。Mb听到你的回答-它00:00返回我
你确定吗?我本以为会是负面的。。。检查diff
是否为负值。。。如果是这样的话,加上24个,你可以在这里看到演示。我听到你的回答了-