Best Pirat
Best Pirat

Reputation: 11

Why I get NaN as a result?

Why Im getting NaN as a result? Code should cout time in days bettwen two dates. I think that something is off with getting milisec from input date.

function data() {
  let data1 = new Date();
  let data2 = new Date();
  data1 = document.getElementById('pierwszadata');
  data2 = document.getElementById('drugadata');
  let dataN2 = new Date(data2).getTime();
  let dataN1 = new Date(data1).getTime();
  let dni = dataN2 - dataN1;
  dni = dni / 86400000;
  document.write(dni);
}
<html>

<head>
  <script language="javascript" type="text/javascript">
  </script>
</head>

<body>
  <input type="date" id="pierwszadata">
  <input type="date" id="drugadata">
  <input type="button" value="data" onclick="data()">
</body>

</html>

Upvotes: 1

Views: 74

Answers (1)

Victor
Victor

Reputation: 2371

Update this lines:

    let dataN2 = new Date(data2.value).getTime();
    let dataN1 = new Date(data1.value).getTime();

You are using data1 instead of data1.value to create the Date

Upvotes: 1

Related Questions