我有一个文本字段,它将出生日期作为用户输入。在另一个文本字段中,我想设置计算的年龄。但是,目前的出生日期和日期有不同的格式。
当前日期
出生日期
年龄
javascript函数如下:
function todayDate(){
var currentDate = new Date();
var day = currentDate.getDate();
var month = currentDate.getMonth() + 1;
var year = currentDate.getFullYear();
document.getElementById("date").value = (day + "/" + month + "/" + year);
}
function ageCalculation(){
var currentDate = new Date();
var birthDate = document.getElementById("dob").value;
alert(birthDate);
var difference = currentDate - birthDate;
document.getElementById("age").value = difference ;
}
在年龄的文本领域,我正在接受" NaN"
答案 0 :(得分:0)
Javascript Date构造函数和Date.parse
函数能够将各种日期格式转换为单个表示形式,以便使用Date
个对象进行日期计算和其他操作。
试试这个:
function ageCalculation(){
var currentDate = new Date();
var birthDate = new Date(document.getElementById("dob").value);
alert(birthDate);
var difference = currentDate - birthDate;
document.getElementById("age").value = difference + ' ms';
}
以年计算:
var differenceInYears = Math.floor(difference / (1000 * 60 * 60 * 24 * 365.25));
请记住,由于闰年处理不佳,这种转换为多年并不准确。为了获得更好的精度,您可能希望实现更好的闰年处理算法。 Rishi中the first comment to your question提到了最好的一个。