我正在尝试在html/javascript中创建一个表单,用户可以在其中输入他们的出生日期,然后显示一条消息,使用来自他们的出生日期的数据来说明“你是'x‘岁”。然而,我完全不确定如何让它工作?
下面是我目前掌握的代码:
HTML:
<input type="date" id="myBirthday" value="dd-mm-yyyy">
<button onclick="submitBirthday()">Submit</button>JS:
function submitBirthday() {
var birthday = document.getElementById("myBirthday").value;
document.getElementById("displayBirthday").innerHTML = ("You are " + birthday + " years old.");
}我意识到这会显示“你目前'dd-mm-yyyy‘岁,但这是我所能做的一切。
任何帮助都将不胜感激!谢谢
发布于 2015-01-02 02:19:54
发布于 2015-01-02 02:25:46
根据This页面,以下是从指定日期检索年龄的固定代码:
function submitBirthday() {
var minutes = 1000 * 60;
var hours = minutes * 60;
var days = hours * 24;
var years = days * 365;
var birthday = Date.parse(document.getElementById("myBirthday").value);
var dateNow = new Date();
var YearsOld = Math.round((dateNow-birthday)/ years);
document.getElementById("displayBirthday").innerHTML = ("You are " + YearsOld + " years old.");
}<input type="date" id="myBirthday" value="dd-mm-yyyy">
<button onclick="submitBirthday();">Submit</button>
<hr>
<div id="displayBirthday"></div>
发布于 2015-01-02 02:39:47
下面是你可以用来获取出生日期的代码
var input = '5/1/1991';// Find the user's input
var dob = input.split('/'); // split the date by separator
//console.log(dob);
var bd = dob[0];// find birth date, month and year
var bm = dob[1];
var by = dob[2];
var curDate = new Date();// find current date
var cd = curDate.getDate();
var cm = parseInt(curDate.getMonth(), 10) + 1;
var cy = curDate.getFullYear();
//console.log(cd, cm, cy);
if (cd < bd) {
var dayToMinus;
switch(cm) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
dayToMinus = 31;
break;
case 4:
case 6:
case 9:
case 11:
dayToMinus = 30;
break;
case 2:
if (cy % 4) {
dayToMinus = 28;
} else {
dayToMinus = 29;
}
}
cd = cd + dayToMinus;
cm = cm - 1;
}
if (cm < bm) {
cm = cm + 12;
cy = cy - 1;
}
console.log("You are "+ (cy - by) +" years "+ (cm - bm) + " months "+ (cd - bd) + " days old");//This will console ur agehttps://stackoverflow.com/questions/27733139
复制相似问题