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

  • manadude21

    manadude21

    11 Mart 2008
  • Official Clouds

    Official Clo

    1 HAZİRAN 2011
  • Professor Messer

    Professor Me

    27 NİSAN 2007