Laravel

Laravel Carbon kullanarak geçen süre hesaplama ?

Laravel Carbon kullanarak geçen süre nasıl hesaplanır ?

Bu makale’de size Laravel 5.6 için laravel geçen süre hesaplama işlemini Carbon sınıfını kullanarak geçen zamanı nasıl hesaplayacağımız dan bahsedeceğim.

NE OLUYOR BU LARAVEL GEÇEN SÜRE HESAPLAMA ?

Carbon sınıfı PHP uygulamalarında çok kapsamlı ve çeşitli bir şekilde tarih/zaman hesaplamaları yapmaya yarar. Özellikle’de büyük web uygulamaları/web yazılımları ve web servislerinde kesinlikle kullanılmalıdır. Buradan https://carbon.nesbot.com/docs/ isterseniz daha detaylı kapsamlı bir şekilde Carbon sınıfını inceleyebilirsiniz.

LARAVEL GEÇEN SÜRE HESAPLAMA İÇİN ÖRNEK

Elimizde bir sorular veritabanının olduğunu farz edelim ve bu veritabanı na normal bir şekilde Laravel’le veri eklediğimizi farz ediyorum. Dolayısıyla created_at ve updated_at alanlarına sahip oluyoruz bu alanları kullanarak ne kadar süre önce veritabanına kayıt eklediğimizi ve ne kadar süre önce güncellediğimizi size vereceğim fonksiyon ile rahatlıkla görebilirsiniz. 🙂

Paylaşacağım fonksiyonu kullanmadan önce lütfen sunucunuzun tarih ve saatini kontrol ediniz.

laravel carbon sınıfı geçen süre hesaplama örnek mysql veritabanı görseli
Carbon Sınıfı Geçen Süre Hesaplama Örnek MYSQL Veritabanı

Yukarıdaki görsel de ki gibi bir tablomuz olduğunu farz edelim. Bu tablodaki verileri çekerken created_at alanını kullanarak kaç dakika önce bu verinin eklendiğini bilmek istiyoruz diyelim. Hemen burada Carbon sınıfının faydasına giriyorum. Bu işlemi gerçekleştirmek için parse() ve diffForHumans() yapıcı fonksiyonlarını kullanacağız. Elimizdeki yani tablomuz da ki created_at verimizi Carbonun anlayacağı şekilde parse() ettikten sonra diffForHumans() fonksiyonu ile şuanki tarihten parse() ettiğimiz tarihi çıkarıp arasındaki farkı bulacağız.

LARAVEL GEÇEN SÜRE HESAPLAMA İÇİN YARDIMCI FONKSİYON

function gecenSureHesapla($tarih){

$x = Carbon::parse($tarih)->diffForHumans(Carbon::now());

return $x;

}

Yukarıdaki fonksiyonumuzun biraz detayına girelim şimdi.

gecenSureHesapla adında bir fonksiyon tanımladık ve bu fonksiyonla $tarih adında bir değer aldık bu değerimiz created_at imiz olacak. Bu fonksiyonla aldığımız tarihi Carbon::parse($tarih) fonksiyonunu kullanarak parse ettik ve bu sayede artık şuanki tarihten parse ettiğimiz tarihi çıkarabiliriz. diffForHumans(Carbon::now()) fonksiyonu ile de şuan ki zamandan parse ettiğimiz tarihi çıkarmış oluyoruz. diffForHumans fonksiyonunun içine yazdığımız değer Carbon::now() değeri şuanki zamanın parse edilmiş halidir. diffForHumans fonksiyonu ile de tablodaki tarihle şuanki tarihi çıkardıktan sonra işlemimiz tamamlanıyor. ve aldığımız $x değerini return la fonksiyonun dışarısına çıkartıyoruz.

Laravel geçen süre hesaplama için Carbonun bize verebileceği değerler şu şekilde olacaktır;

  • Az önce
  • 5 saniye önce
  • 5 dakika önce
  • 5 saat önce
  • 5 gün önce
  • 5 hafta önce
  • 5 ay önce
  • 5 yıl önce

Evet ve bu şekilde laravel geçen süre hesaplama’yı öğrenmiş ve Carbon sınıfını kullanarak, hesaplamış olduk. Carbon sınıfının kurulumu için ayrıca buradaki makaleme bakabilirsiniz. https://codewk.com/laravel-carbon-kurulumu

Yazımı okuduğunuz için çok teşekkür ederim 🙂 Laravel geçen süre hesaplama içeriğini paylaşarak size bir yardımım dokunduysa ne mutlu bana… Herhangi bir sorun yaşamanız durumunda yorumlarınızı bekliyor olacağım. İyi Günler 😉

Daha Fazla Göster

Özgür TAYFUR

I'm a Full Stack Developer. Hep aynı senaryo sezon 22 ;) Benim hakkımda ne düşünürsen Allah sana iki katını versin !! Ben ne gördüysem,ne duyduysam hepsi o anda kalır...

Bir cevap yazın

Başa dön tuşu

Reklam Engelleyici Algılandı

Lütfen reklam engelleyiciyi devre dışı bırakarak bizi desteklemeyi düşünün