html中具有不同格式的日期差异

时间:2016-08-26 13:34:07

标签: javascript html date

我有一个文本字段,它将出生日期作为用户输入。在另一个文本字段中,我想设置计算的年龄。但是,目前的出生日期和日期有不同的格式。

当前日期    
     出生日期             
     年龄      

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"

1 个答案:

答案 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));

请记住,由于闰年处理不佳,这种转换为多年并不准确。为了获得更好的精度,您可能希望实现更好的闰年处理算法。 Rishithe first comment to your question提到了最好的一个。