PHP ile x zaman önce Fonksiyonu - Seditio Yazılım - Seditio CMS Türkiye

Yayınımız yeniliklerle beraber yeni sitemizden devam ediyor. Seditio.com.tr takip edin.

User profile picture

Kaan

Seditio CMS

PHP ile x zaman önce Fonksiyonu

PHP'de aşağıdaki fonksiyonu kullanarak eklenme tarihini "x zaman önce" eklendi şeklinde gösterebilirsiniz.

// Tarih zaman dilimi ayarlama
date_default_timezone_set('Europe/Istanbul');

// Fonksiyon
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';
}

// Örnek Kullanım
echo time_ago('2020-06-11 02:13:00');

veya alttaki fonksiyonu kullanabilirsiniz her ikiside aynı işlemi yapmaktadır.

/* “X Zaman Önce” Yazıldı Fonksiyonu    */
function timeConvert ( $zaman ){
    $zaman =  strtotime($zaman);
    $zaman_farki = time() - $zaman;
    $saniye = $zaman_farki;
    $dakika = round($zaman_farki/60);
    $saat = round($zaman_farki/3600);
    $gun = round($zaman_farki/86400);
    $hafta = round($zaman_farki/604800);
    $ay = round($zaman_farki/2419200);
    $yil = round($zaman_farki/29030400);
    if( $saniye < 60 ){
        if ($saniye == 0){
            return "az önce";
        } else {
            return $saniye .' saniye önce';
        }
    } else if ( $dakika < 60 ){
        return $dakika .' dakika önce';
    } else if ( $saat < 24 ){
        return $saat.' saat önce';
    } else if ( $gun < 7 ){
        return $gun .' gün önce';
    } else if ( $hafta < 4 ){
        return $hafta.' hafta önce';
    } else if ( $ay < 12 ){
        return $ay .' ay önce';
    } else {
        return $yil.' yıl önce';
    }
}

echo timeConvert ( $date ); // şeklinde kullanabilirsiniz.

 


php ile x zaman önce fonksiyonu

İlginizi Çekebilir

Yorumlar

Henüz yorum yapılmamıştır.