在javascript中检查年龄是否不低于13岁

时间:2013-01-09 08:51:52

标签: javascript

任何人都可以通过javascript函数指导我,这将获取用户输入的当前日期和日期之间的年度差异

我试过这个,但它没有计入闰年

var yearOld=2000
var dateOld=11
var mnthOld=1;
var currendDate=new Date(); // 9 - jan - 2013

var oldDate=new Date(yearOld,mnthOld-1,dateOld);

var timeDiff =currendDate-oldDate ;

var diffDays = timeDiff / (1000 * 3600 * 24 * 365); 

结果是13.00789,它应该低于13

任何帮助将不胜感激

5 个答案:

答案 0 :(得分:6)

function getAge(birthDateString) {
    var today = new Date();
    var birthDate = new Date(birthDateString);
    var age = today.getFullYear() - birthDate.getFullYear();
    var m = today.getMonth() - birthDate.getMonth();
    if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
        age--;
    }
    return age;
}

if(getAge("27/06/1989") >= 18) {
    alert("You have 18 or more years old!");
} 

答案 1 :(得分:5)

如果您有大量与日期相关的操作,请考虑使用MomentJS http://momentjs.com/。检查那里的前两个例子,我猜它们适合你的问题。

答案 2 :(得分:0)

http://www.datejs.com/是一个有用的库,适用于各种日期计算

答案 3 :(得分:0)

使用

// millisecs * secs * mins * hrs * days (inclu. leap)
msecsInYear = 1000 * 60 * 60 * 24 * 365.25;  

注意:静态不正确,但在数学上是正确的!
将涵盖闰年案例。

答案 4 :(得分:0)

retcod      retdesc     retfecret
294453420   SIN MOTIVO  2018-12-15 15:29:58
294453421   SIN MOTIVO  2018-12-15 15:29:58
294453422   SIN MOTIVO  2018-12-15 15:29:58
294453423   SIN MOTIVO  2018-12-15 15:29:58
294453424   SIN MOTIVO  2018-12-15 15:29:57