如何计算时差

时间:2019-05-27 06:33:56

标签: javascript html

我正在尝试制作一个程序,在该程序中我将其置于不同的时间,并在单击“计算”按钮后在分钟内获得差异。我不确定我的方法是否正确,可能会有一些错字。

我试图将不同的输入值设为数字,但是似乎还有另一个我看不到的潜在问题。

var hour1=document.getElementById("hour1");
var min1=document.getElementById("min1");
var hour2=document.getElementById("hour2");
var min2=document.getElementById("min2");

function calc(){
    var minutt1=Number(hour1)*60+Number(min1);
    var minutt2=Number(hour2)*60+Number(min2);
    var resultat=0;
    resultat = Number(minutt1) - Number(minutt2);
    document.getElementById("result").innerHTML="Time differance is:" + Number(resultat);
}
<input type="number" id="hour1">:
<input type="number" id="min1"> - 
<input type="number" id="hour2">:
<input type="number" id="min1">
<button type="button" onclick="calc()">Regn ut</button>

<div id="result"></div>

我希望得到一个表示以分钟为单位的时差的数字,但实际输出是“ NaN”。

2 个答案:

答案 0 :(得分:2)

您需要获取valuehour1min1hour2中的min2。您也没有元素min2

var hour1=document.getElementById("hour1").value;
var min1=document.getElementById("min1").value;
var hour2=document.getElementById("hour2").value;
var min2=document.getElementById("min2").value;

您的代码试图做的是将HTML元素相乘和相减(从来都不是个好主意)。

var hour1 = document.getElementById("hour1").value;
var min1 = document.getElementById("min1").value;
var hour2 = document.getElementById("hour2").value;
var min2 = document.getElementById("min2").value;

function calc() {
  var minutt1 = Number(hour1) * 60 + Number(min1);
  var minutt2 = Number(hour2) * 60 + Number(min2);
  var resultat = 0;
  resultat = Number(minutt1) - Number(minutt2);
  document.getElementById("result").innerHTML = "Time differance is:" + Number(resultat);
}
<input type="number" id="hour1">:
<input type="number" id="min1"> -
<input type="number" id="hour2">:
<input type="number" id="min2">
<button type="button" onclick="calc()">Regn ut</button>

<div id="result"></div>

答案 1 :(得分:0)

其他答案也很接近,但是您需要获得输入的点击后,点击按钮

var hour1 = document.getElementById("hour1");
var min1 = document.getElementById("min1");
var hour2 = document.getElementById("hour2");
var min2 = document.getElementById("min2");

window.calc = function () {
  var minutt1 = parseInt(hour1.value) * 60 + parseInt(min1.value);
  var minutt2 = parseInt(hour2.value) * 60 + parseInt(min2.value);
  var resultat = minutt1 - minutt2;
  document.getElementById("result").innerHTML = "Time differance is:" + resultat;
  
  console.log({minutt1:minutt1,minutt2:minutt2,resultat:resultat,
  hour1:hour1,min1:min1,
  hour2:hour2,min2:min2
  })
};
<input type="number" id="hour1">:
<input type="number" id="min1"> -
<input type="number" id="hour2">:
<input type="number" id="min2">
<button type="button" onclick="calc()">Regn ut</button>

<div id="result"></div>