以月计算当前年龄

时间:2015-10-14 19:02:53

标签: javascript

我需要在给定的生日和当前日期之间的月龄:

我找到了这个,这给了我多年的年龄:

function getAge(dateString) {
    var today = new Date();
    var birthDate = new Date(dateString);
    var age = today.getFullYear() - birthDate.getFullYear();
    var m = today.getMonth() - birthDate.getMonth();
    age = age * 12 + m;
    return age;
}

但我需要几个月的年龄。一个五岁的孩子应该得到60的结果;如果孩子5岁3个月,则应该给出63的结果。

http://jsfiddle.net/n33RJ/567/

这并没有给我正确的价值。

4 个答案:

答案 0 :(得分:0)

使用您的年份* 12,然后添加月份差异。如果我们有2011年2月,但孩子出生于2010年4月,你得到1 * 12 +( - 2)= 10个月

//replace the function call in the line below!
while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)){
 foreach ($row as $column=>$value)


   {
      echo 
       $column.": " .$value."<br />";

   }
   echo '<hr />';

}

答案 1 :(得分:0)

function getAge(dateString) {
    var today = new Date();
    var birth = new Date(dateString);
    var years = today.getFullYear() - birth.getFullYear();
    var months = today.getMonth() - birth.getMonth();
    return years * 12 - months;   
}

答案 2 :(得分:0)

实际上,您发布的功能确实会返回月数。

复制:

function getAge(dateString) {
    var today = new Date();
    var birthDate = new Date(dateString);
    var age = today.getFullYear() - birthDate.getFullYear();
    var m = today.getMonth() - birthDate.getMonth();
    age = age * 12 + m;
    return age;
}

我跑了getAge('1990-May-16'),它返回305,这是25年零5个月。

您的jsfiddle使用了无效的dateString - getAge("10.07.14")

答案 3 :(得分:0)

另一个使用serv 进行精确...

getTime