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ş:
Nasıl kullanmak nasıl benzer iki resim...
hesaplamak ve C boost kullanarak örnek...
SQL Server Çalışan bir Toplam hesaplam...
Google Maps hesaplamak için Nasıl V3 -...
Ekran Java bir dize genişliğini hesapl...