【问题标题】:Javascript Calculate Age from HTML input date typeJavascript从HTML输入日期类型计算年龄
【发布时间】:2014-12-01 20:45:18
【问题描述】:

我正在尝试使用 Javascript 计算年龄。从 HTML 日期输入类型中选择他们的出生日期,并应显示他/她的年龄。 Javascript如何使用HTML Date输入类型数据并计算年龄?

下面是 HTML

<html>
<head>
<title> Sample Date of Birth Registration</title>

<script type="text/javascript" src="formiteration6.js"></script>
</head>
<body>
<h1>Birth Registration</h1>
<hr />
<form id ="inputFrom">
 <label for="size_1">D.O.B:</label><input type="date" name="size" id="birthDate" value="dd/mm/yy"  />
 <input type='button' onclick='regBirth()' value='Add new person' />
 </form>
 <hr />
<table id="details">
  <tr>
  <th>Date of Birth</th>
  <th>Age</th>
  </tr>

</table>
<h4>Statistics</h1>
<hr />
<h5><b>Total Count:</b></h5>
<p id="count"></p>

</body>
</html>

Javascript 就在这里

var allPeople = [];

function regBirth() {
    'use strict';
    var myArray = {};

    var actualDob = myArray.actualBirthDate;
    actualDob = document.getElementById('birthDate').value

    allPeople.push(myArray);

    var inputForm = document.getElementById("inputFrom").reset();
    var tabularForm = document.createDocumentFragment();
    var tablerow = document.createElement('tr'); 

    var dob = document.createElement('td');
    dob.innerHTML = actualDob;
    tablerow.appendChild(dob);

    tabularForm.appendChild(tablerow); 
    document.getElementById("details").appendChild(tabularForm);

    var totalPeople = allPeople.length;

    document.getElementById("count").innerHTML=totalPeople;
}

【问题讨论】:

  • 参见stackoverflow.com/a/7091965/1722529 — 首先,获取当年和出生年份之间的差异。然后,如果当前月份数小于出生月份数,则从年差中减去 1 并将结果用作年龄。

标签: javascript html


【解决方案1】:

使用 new Date() 获取今天的日期

使用new Date(datestring)获取出生日期

使用getFullYear()从两个日期获取年份

现在找出两年之间的差异。

Fiddle Demo

【讨论】:

  • 是这样的吗? var currentDate = new Date(); varbirth_date = new Date(actualDob); var currentYear = currentDate.getFullYear(); var myBirthYear =birth_date.getFullYear(); var myAge = currentYear - myBirthYear; document.getElementById("age").innnerHTML = myAge;
  • 这里没有显示:var myAge = currentYear - myBirthYear; document.getElementById("age").innnerHTML = myAge;在 HTML 页面中
  • @IslandKing document.getElementById("age").value=myAge
  • @Vinod 没那么简单。考虑以下情况:在 2018 年 1 月 2 日,您的代码已在 1980 年 8 月 1 日的出生日期运行。根据我们在 2018 年 1 月 2 日的规则,此人的年龄仍为 37 岁,但您的代码将显示年龄已为 38 岁.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-14
  • 2014-02-15
  • 1970-01-01
  • 1970-01-01
  • 2013-08-30
  • 1970-01-01
  • 2016-03-20
相关资源
最近更新 更多