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

  • ehowhome

    ehowhome

    22 NİSAN 2009
  • newport83

    newport83

    19 HAZİRAN 2006
  • SalGames2016

    SalGames2016

    17 Kasım 2012