Merhaba arkadaşlar, bugün php'de tam doğum tarihi ile (gün-ay-yıl) yaş hesaplamayı anlatacağım.

Öncelikle tarihi yazmamız gerekiyor, yas_bul("19-05-1881"); //19 Mayıs 1881
Ardından yas_bul isiminde bir fonksiyon oluşturuyoruz ve fonkisyon'a $dogum_tarihi diyoruz.
Sonra function'ın içine giriyoruz.
Şimdi $dogum_tarihi değişkeninden yani en üstteki yas_bul("19-05-1881") fonksiyonunu parçalamaya başlıyoruz.
$ay diye bir değişken oluşturuyoruz ve yaş fonksiyonumuzu [1] parçalıyoruz.
Sonra $gun diye bir değişken oluşturup tekrar parçalama işlemini yapıyoruz fakat bu sefer [0] olacak.
Sonra $yildiye bir değişken oluşturup tekrar parçalama işlemini yapıyoruz fakat bu sefer [2] olacak.

$yas diye bir değişken oluşturup bunu date('Y') - $yil'a eşitliyoruz.
Sonra $ay değişkeni date('m')'den büyükse yaştan bir sayı eksilt diyoruz.
Sonra elseif ile $gun değişkeni date('d')'den büyükse yine yaştan bir sayı eksilt diyoruz.
Ve en son $yas'ı ekrana yazdırıyoruz.

Ve siteye giridiğimizde yaşımızın doğru bir şekilde yazdığını görüyoruz, eğer yaş yazıyor fakat bazı hata kodları falan çıkarsa eğer sitenin en başına error_reporting(0); kodunu ekliyoruz.

Yani neden bu kadar uzun anlattıysam artık?

Alın kod:

<?php
error_reporting(0);

yas_bul("19-05-1881");

function yas_bul($dogum_tarihi) {

    $gun = explode('-', $dogum_tarihi)[0];
    $ay = explode('-', $dogum_tarihi)[1];
    $yil = explode('-', $dogum_tarihi)[2];

    $yas = date('Y') - $yil;
    
    if (date('m') < $ay) {
        $yas--;
    }
    elseif (date('d') < $gun) {
        $yas--;
    }
    echo $yas;

}
?>