Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery计算22:00(今天)和06:00(明天)之间的小时数_Javascript_Jquery_Time - Fatal编程技术网

Javascript 使用jQuery计算22:00(今天)和06:00(明天)之间的小时数

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

我想用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="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个,你可以在这里看到演示。我听到你的回答了-