Php şu kadar zaman önce

Php şu kadar zaman önce geçen zamanı (yani x zaman önce) hesaplatmak için gerekli fonksiyondur.

function time_ago($datetime){

    $now = new DateTime;
    $ago = new DateTime($datetime);
    $diff = $now->diff($ago);

    $diff->w = floor($diff->d / 7);
    $diff->d -= $diff->w * 7;

    $time_arr = [
        'y' => 'yıl',
        'm' => 'ay',
        'w' => 'hafta',
        'd' => 'gün',
        'h' => 'saat',
        'i' => 'dakika',
        's' => 'saniye'
    ];
    foreach($time_arr as $k => &$v){
        if($diff->$k){
            $v = $diff->$k . ' ' . $v;
        }else{
            unset($time_arr[$k]);
        }
    }

    return $time_arr ? implode(', ', array_slice($time_arr, 0, 1)) . ' önce' : 'hemen şimdi';
}

echo time_ago ('03.10.2023 14:50');

Yorum yap