0

Did i find todays date wrong or st? I have done a similair code before(with input.value instead of a static date) and it worked. Im clearly a beginner, so it can be a very simple mistake

function calculate2() {
    var date1 = new Date('15/02/2001'); 
    var date2 = new Date();  
    var timediff = Math.abs(date2.getTime() - date1.getTime());
    var days = Math.round(timediff / (1000 * 3600 * 24));
     
   var months = Math.round (days / 31);
    var years = Math.round (months / 12);
    var hours = Math.round (days * 24);
    var minutes = Math.round (hours * 60);
    var seconds = Math.round (minutes * 60);
 var weeks = Math.round (days / 7);
     var result = document.getElementById('result');
    result.value = years;
 var result1 = document.getElementById('result1');
    result1.value = months;
 var result6 = document.getElementById('result6');
 result6.value = weeks;
 var result2 = document.getElementById('result2');
    result2.value = days;
 var result3 = document.getElementById('result3');
    result3.value = hours;
 var result4 = document.getElementById('result4');
    result4.value = minutes;
 var result5 = document.getElementById('result5');
    result5.value = seconds;
}
<form>
<input type="result" id="result" name="result" readonly>
<input type="result" id="result1" name="result" readonly>
<input type="result" id="result6" name="result" readonly>
<input type="result" id="result2" name="result" readonly>
<input type="result" id="result3" name="result" readonly>
<input type="result" id="result4" name="result" readonly>
<input type="result" id="result5" name="result" readonly>
</form>
Nikm
  • 3
  • 1

1 Answers1

0

new Date('15/02/2001') results in an invalid date. Calling .getTime on an invalid date returns NaN

Creating a date from a string is a tricky thing to do, since there are inconsistencies between the way browsers parse the string. I'd recommend creating the date another way instead. For example, the constructor lets you pass in integers for year, month, day:

new Date(2001, 2, 15)
Nicholas Tower
  • 72,740
  • 7
  • 86
  • 98
  • `new Date(2001, 2, 15)` will be 15 March, the OP likely expects 15 Feb so `new Date(2001, 1, 15)`. ;-) – RobG Nov 04 '18 at 20:24