Jump to content

How to convert DOB timestamp from MYQL table field to AGE using PHP


mattyt81

Recommended Posts

Hi

 

I have members DOB stored in a mysql table field called birthday in the following format YYYY-MM-DD

 

I can't seem to convert the time stamp into the members age

 

I need to be able to feed $birthday which is the field in mysql table that is in the above format and then use php code to convert to members age

 

Everything I try doesn't seem to work

 

 

<?php

 

  //calculate years of age (input string: YYYY-MM-DD)

  function birthday ($birthday){

    list($year,$month,$day) = explode("-",$birthday);

    $year_diff  = date("Y") - $year;

    $month_diff = date("m") - $month;

    $day_diff  = date("d") - $day;

    if ($day_diff < 0 || $month_diff < 0)

      $year_diff--;

    return $year_diff;

  }

 

echo birthday('1960-06-14');

 

?>

 

You can just do it in MySQL:

 

SELECT floor( (to_days(now()) - to_days(birthday)) / 365.25 );

 

Create a user-defined function age() in MySQL and you can do this:

 

SELECT age(birthday) AS user_age;

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.