Re: Age from date field?
| From: | Curt Zirzow | Date: | Sun, 12 Oct 2003 14:49:53 +0000 |
| Subject: | Re: Age from date field? | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-165902@lists.php.net to get a copy of this message | ||
* Thus wrote Eugene Lee (list-php-1@fsck.net):
> On Sun, Oct 12, 2003 at 02:09:38AM +0200, DvDmanDT wrote:
> :
> : Does anyone have a good solution on how to get the age of someone from a
> : date column in mysql... This is what I have, but it's not really the
> : truth... What's the right way to do it?
> :
> : floor((time()-$a["born"])/(3600*24*365.25))
> :
> : where $a["born"] is the timestamp of the birthdate... Current query:
>
> This should work for well-formed timestamps, i.e. they are not in the
> future:
>
> function age($ts)
> {
> list($y1, $m1, $d1) = explode(' ', date('Y m d', $ts));
> list($y2, $m2, $d2) = explode(' ', date('Y m d', time()));
> $age = $y2 - $y1 - ((($m2 < $m1) || ($d2 < $d1)) ? 1 : 0);
What happens if the month is the same but the day hasnt been
reached?
Shouldnt this be:
$age = $y2 - $y1 - ((($m2 < $m1) || ($m2 == $m1 && $d2 < $d1)) ? 1 : 0);
To account for it being the same month but not yet the day.
Curt
--
"My PHP key is worn out"
PHP List stats since 1997:
http://zirzow.dyndns.org/html/mlists/