我想从日、月、年计算年龄。我已经完成了出生日期到日、月、年的计算。但我想要年龄反向计算
如果用户输入年龄: 日:18 月份:05 年份:26
然后它将返回当前日期的原始出生日期,例如 DOB:10/24/1993
有很多 DOB 到 Age(dd-mm-yyyy) 的示例,但没有 Age(dd-mm-yyyy) 到 DOB 的示例
javascript中这个反向计算的逻辑是什么?
这是 DOB 到 Age 的脚本
$("#txtDob").keyup(function () {
debugger;
var mdate = $("#txtDob").val().toString();
var yearThen = parseInt(mdate.substring(0, 4), 10);
var monthThen = parseInt(mdate.substring(5, 7), 10);
var dayThen = parseInt(mdate.substring(8, 10), 10);
var today = new Date();
var birthday = new Date(yearThen, monthThen - 1, dayThen);
var differenceInMilisecond = today.valueOf() - birthday.valueOf();
var year_age = Math.floor(differenceInMilisecond / 31536000000);
var day_age = Math.floor((differenceInMilisecond % 31536000000) / 86400000);
var month_age = Math.floor(day_age / 30);
day_age = day_age % 30;
if (isNaN(year_age) || isNaN(month_age) || isNaN(day_age)) {
// $("#exact_age").text("Invalid birthday - Please try again!");
}
else {
$("#txtAgeYY").val(year_age);
$("#txtAgeMM").val(month_age);
$("#txtAgeDD").val(day_age);
//var abc = testFunc();
}
});
但我需要出生年龄
最佳答案
您可以创建一个包含当前时间的新日期,然后减去当前年龄、月份和日期。
const ageYear = 26;
const ageMonth = 5;
const ageDay = 18;
const birthDay = new Date();
birthDay.setFullYear(birthDay.getFullYear() - ageYear);
birthDay.setMonth(birthDay.getMonth() - ageMonth);
birthDay.setDate(birthDay.getDate() - ageDay);
关于javascript - 使用 Javascript 进行年龄逆算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61010954/