Javascript Timediff减去中断时间,使用24小时格式的jquery

Javascript Timediff减去中断时间,使用24小时格式的jquery,javascript,jquery,Javascript,Jquery,我正在寻找一个例子来计算时间差之间的时间(24小时)减去休息时间在H:m格式 开始时间:08:30 结束时间:17:30 休息时间:01:50(表示休息时间110分钟休息时间) 净工作时间应为:07:10(7h10m)和7.17(十进制) 有没有一个例子? 我将感谢你的意见。 谢谢还有其他方法可以做到这一点,但要计算这个时差,您必须首先将时间戳转换为秒,然后在计算为秒后,再次转换为时间戳以显示。如代码中所示: HTML: 您可以登录此小提琴:您的代码输入成功了吗?太好了,谢谢。很好!如果您能将答

我正在寻找一个例子来计算时间差之间的时间(24小时)减去休息时间在H:m格式

开始时间:08:30 结束时间:17:30 休息时间:01:50(表示休息时间110分钟休息时间)

净工作时间应为:07:10(7h10m)和7.17(十进制)

有没有一个例子? 我将感谢你的意见。
谢谢

还有其他方法可以做到这一点,但要计算这个时差,您必须首先将时间戳转换为秒,然后在计算为秒后,再次转换为时间戳以显示。如代码中所示:

HTML:


您可以登录此小提琴:

您的代码输入成功了吗?太好了,谢谢。很好!如果您能将答案设置为解决方案,我将不胜感激
<html>
  <label>Start Time</label><br>
  <input id="start" value="08:30"><br>
  <label>End Time</label><br>
  <input id="end" value="17:30"><br>
  <label>Break Time</label><br>
  <input id="breaktime" value="01:50"><br>
  <br>
  <label>Difference Time</label><br>
  <input id="diff"><br>
  <label>As decimal</label><br>
  <input id="decimals">
</html>
function getTime(seconds) {

  //an hour contains 60 * 60 = 3600 seconds
  //a minut contains 60 seconds
  //the amount of seconds we have left
  var leftover = seconds;

  //how many full hours fits in the amount of leftover seconds
  var hours = Math.floor(leftover / 3600);
  
  //how many seconds are left
  leftover = leftover - (hours * 3600);

  //how many minutes fits in the amount of leftover seconds
  var minutes = Math.floor(leftover / 60);

  //how many seconds are left
  leftover = leftover - (minutes * 60);
  return ('0' + hours).slice(-2) + ':' + minutes;
}
function getSeconds(timestamp) {
  var hms = timestamp + ':00';   // your input string
  var a = hms.split(':'); // split it at the colons

  // minutes are worth 60 seconds. Hours are worth 60 minutes.
  var seconds = (+a[0]) * 60 * 60 + (+a[1]) * 60 + (+a[2]); 
  return seconds;
}
function getDecimals(timestamp) {
    var hms = timestamp + ':00';   // your input string
  var a = hms.split(':'); // split it at the colons
  //To get the total decimal hours we use the formula: h = hours + (minutes / 60) + (seconds / 3600).
  var decimal = (+a[0]) + ((+a[1]) / 60) + ((+a[2]) / 3600);
  return decimal.round(2)
}
var endTime = document.getElementById("end").value;
var startTime = document.getElementById("start").value;
var breakTime = document.getElementById("breaktime").value;
var diff = getSeconds(endTime) -  getSeconds(startTime) - getSeconds(breakTime);

document.getElementById("diff").value = getTime(diff);
document.getElementById("decimals").value = getDecimals(getTime(diff));