如何计算日期之间的差异

How to calculate difference between dates

本文关键字:之间 日期 何计算 计算      更新时间:2023-09-26

我使用3个不同的列表从用户那里获取出生日期,然后尝试用JavaScript计算用户的年龄,但失败了,请帮忙。

如何计算变量dobcrntDate之间的差异?

代码片段:

function calculateDOB()
{
  var day = document.getElementById("signUpDate").value;
  var mnth = document.getElementById("signUpMnth").value;
  var year = document.getElementById("signUpYear").value;
  var dob = day+"/"+mnth+"/"+year;
  var crntDate = Date();
}

您的dob是字符串。您应该转换为日期并使用.getTime()进行计算。下面是一些示例,希望对您有所帮助。

function calc() {
  var day = document.getElementById("signUpDate").value;
  var mth = document.getElementById("signUpMnth").value;
  var year = document.getElementById("signUpYear").value;
  
  var today = new Date();
  var dob = new Date(year, mth, day);
  
  var diff = today.getTime() - dob.getTime();
  alert("Day " + Math.ceil((diff / 24 / 60 / 60 / 1000)));
}
<input id="signUpDate" maxlength="2" size="2" value="1">
<select id="signUpMnth">
  <option value="0">Jan</option>
  <option value="1">Feb</option>
  <option value="2" selected>Mar</option>
  <option value="3">Apr</option>
  <option value="4">May</option>
  <option value="5">Jun</option>
  <option value="6">Jul</option>
  <option value="7">Aug</option>
  <option value="8">Sep</option>
  <option value="9">Oct</option>
  <option value="10">Nov</option>
  <option value="11">Dec</option>
</select>
<input id="signUpYear" maxlength="4" size="4" value="2015">
<input type="button" onClick="calc()" value="test">