PHP timeAgo Fonksiyonu

Daha önce şurada paylaştığım halini unutup yeni halini kullanabilirsiniz 🙂

<?php

/**
 * @param $date
 * @return mixed
 */
function timeAgo($date)
{
    $timestamp = strtotime($date);
    $currentDate = new DateTime('@' . $timestamp);
    $nowDate = new DateTime('@' . time());
    return $currentDate
        ->diff($nowDate)
        ->format(' %y yıl %m ay %d gün %h saat %i dakika %s saniye önce');
}

$date = '2015-03-12 14:05:14';
echo timeAgo($date);

Yayınlayan

Tayfun Erbilen

2009'dan beri web işleriyle uğraşan, aynı zamanda amatör müziklede ilgilenen sıradan birisi..

“PHP timeAgo Fonksiyonu” üzerine 8 yorum

  1. Tayfun bey çok teşekkürler peki sadece en büyük değeri nasıl gösterebiliriz. Mesela 1 ayı geçtiyse sadece 1 ay önce yazsın diğerleri yazmasın gibi

  2. @Muhammed, şöyle yaparsan belki işini görecektir.

    function timeAgo($date)
    {
        $timestamp = strtotime($date);
        $currentDate = new DateTime('@' . $timestamp);
        $nowDate = new DateTime('@' . time());
        $diff = $currentDate
            ->diff($nowDate);
        if ( $diff->y )
        	return $diff->y . ' yıl önce';
        elseif ( $diff->m )
        	return $diff->m . ' ay önce';
        elseif ( $diff->d )
        	return $diff->d . ' gün önce';
        else
        	return ($dif->h ? $dif->h . ' saat ' : null) . ($dif->i ? $diff->i . ' dakika ' : null) . $diff->s . ' saniye önce';
    }
  3. Facebook ve youtube bile senin sayfan kadar girmiyorum. düzenli olarak sayfandaki reklamlarıda tıklıyorum. Türkçe kaynak ve Ücretsiz eğitim için verdiğin emeği takdir ediyorum yaklaşık 5 yıldır videolarını izliyorum php mysql hakkında ne biliyorsam senden öğrendim denebilir gittiğin bu yol takdir edilesi bir durumda ve saygı duyuyorum yaptığın paylaşımlar için teşekkürler.

  4. yıllar önce bir videonu izlemiştim şimdi o videon ile buradaki izlediğim arasında dağlar kadar fark var :}

  5. Teşekkürler Her Zamanki Gibi Muhteşem İş Çıkmış Ortaya Parmaklarına ve Hayal Gücüne Sağlık Takibe Devam

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir