2017-10-22 4 views
0

Ich habe ein Problem beim Drucken genaue Alter mit php. Die Jahre des Alters drucken genau, aber wenn es um Monate und Tage geht, gehen sie oft zu negativen Werten.Berechnen Sie das genaue Alter von Mysql-Datenbank mit PHP

Hier ist das Code-Schnipsel und der vollständige Code ist here.

$ag = date('Y') - substr($row11['dob'],6); 
     $mn = date('m') - substr($row11['dob'],3,2); 
     $dy = date('d') - substr($row11['dob'],0,2); 
+0

finden können Sie Ihre Leistung und erwartete Ausgabe posten? – Ravi

Antwort

1

Ihre Alte Berechnungsmethode ist nicht richtig, bcz durch die Trennung von den heutigen Jahr Geburtsjahr ist in Ordnung, aber wenn es um Monat und Tag kommt ich gebe negativen Wert ist, wird direkte Trennung nicht für Altersberechnung arbeiten. Verwenden Sie den folgenden Code.

function ageCalculator($dob){ 
    if(!empty($dob)){ 
     $birthdate = new DateTime($dob); 
     $today = new DateTime('today'); 
     $ag = $birthdate->diff($today)->y; 
     $mn = $birthdate->diff($today)->m; 
     $dy = $birthdate->diff($today)->d; 
     return "$ag Years $mn Months $dy Days"; 
    }else{ 
     return 0; 
    } 
} 

$row11 = array('dob'=>'02-01-1995'); 
echo ageCalculator($row11['dob']); 

//OUTPUT 

22 Years 9 Months 20 Days 

Hier können Sie die file

+0

danke für die Antwort. Tatsächlich haben wir einen Entwickler für unsere Schulsoftware eingestellt und jetzt antwortet er nicht und ich brauche das Alter, das bis morgen korrekte Daten anzeigt. Können Sie mir genau sagen, wo soll ich die $ row11 ['dob'] wird es sehr nett von Ihnen sein, wenn ich die genaue Antwort bekomme. –

+0

Wie Sie in Ihrer Datei bearbeitet haben, ersetzen Sie einfach [this] (https://drive.google.com/file/d/0B8eh4-Yt9AgvYThYYmlvLWlLV1k/view?usp=sharing) -Datei und vergessen Sie nicht, markieren Sie es als Antwort –

+0

Bündel dank paaren :) –