PHP yaş hesaplamak | Netgez.com
SORU
23 EYLÜL 2010, PERŞEMBE


PHP yaÅŸ hesaplamak

Bir kişinin yaşı, biçimi GG/AA/yyyy kendi doğum tarihi hesaplamak için arıyorum.

Bir arıza bu süre hiç bitmeyecek ve bir durdurmak için tüm site öğütmek için döngü neden olduğu kadar ince birkaç ay çalışmış olan aşağıdaki işlev kullanıyordum. Neredeyse 100.000 DOBs bu fonksiyon ile birkaç kez bir gün vardır, bunun neden olduğunu tespit edin.

Herkes yaşını hesaplamak daha güvenilir bir yolu var mı?

//replace / with - so strtotime works
$dob = strtotime(str_replace("/","-",$birthdayDate));       
$tdate = time();

$age = 0;
while( $tdate > $dob = strtotime(' 1 year', $dob))
{
      $age;
}
return $age;

EDİT: bu fonksiyonu OK, zaman zaman iş gibi görünüyor, ama "" 14/09/1986 bir DOB için . 40 döndürür

return floor((time() - strtotime($birthdayDate))/31556926);

CEVAP
23 EYLÜL 2010, PERŞEMBE


$tz  = new DateTimeZone('Europe/Brussels');
$age = DateTime::createFromFormat('d/m/Y', '12/02/1973', $tz)
     ->diff(new DateTime('now', $tz))
     ->y;

PHP 5.3.0 kullanabilirsiniz kullanışlı DateTime::createFromFormat emin olmak için randevun yok yok yanlış m/d/Y format ve DateInterval sınıf () DateTime::diff) sayısı yıl arasında şimdi ve hedef tarih.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:
Php

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 24 Канал

    24 КанаÐ

    5 ÅžUBAT 2006
  • HouseholdHacker

    HouseholdHac

    6 Kasım 2007
  • maxman.tv

    maxman.tv

    29 EKİM 2013