Php iki tarih arasındaki farkı yazdırma fonksiyonu
Bu yazımızda php ile iki tarih arasındaki farkı öğrenme ve yazdırma fonksiyonlarını göreceğiz

Merhabalar bir sistem yazarken bazen tarihler ile işlem yapmamız gerekebiliyor, bu çeşitli işlemler sonucunda oluyor, örnek vermek gerekirse bir gönderinin ne kadarar süre önce paylaşıldığını görüntülemek isteyebiliriz, ya da gönderilen bir mesajın ne kadar süre önce gönderildiğini türkçe olarak görmek isteyebiliriz, bu ve benzeri işlerde kullanabileceğimiz çok güzel bir fonksiyon yazdım , açıklayarak ilerleyeceğim.
date_default_timezone_get("Europe/İstanbul");
Yukarıda gördüğümüz bir saat ayarlamasıdır, anlayacağınız üzere Avrupa / İstanbul saatini ayarladım sizler de istediğiniz bölgenin zaman dilimini kullanabilirsiniz.
$şuanki_saat = time();
$gelen_saat = strtotime($saat);
$fark = $şuanki_saat - $gelen_saat;
Daha sonra 'time' fonksiyonu ile şu anki zamana kadar sayılan saniye değerini alıyorum, strtotime fonksiyonu ile de hangi tarih ile karşılaştırma yapacaksam onu saniye bazında çevirme işlemini yapıyorum daha sonra bu iki veri arasında çıkarma işlemi yapıp elime saniye cinsinden farkı alıyorum. Geriye kalanlalar çevirme işlemleri.
$dakika = $fark / 60;
$saniye_farki = floor($fark - (floor($dakika) * 60));
$saat = $dakika / 60;
$dakika_farki = floor($dakika - (floor($saat) * 60));
$gun = $saat / 24;
$saat_farki = floor($saat - (floor($gun) * 24));
$yil = floor($gun/365);
$gun_farki = floor($gun - (floor($yil) * 365));
Yukarıdaki işlemler saniye cinsinden gelen süre farkını farklı formatlara dönüştürerek ilerler , her birini ayrı ayrı vermiyor örnek vermek gerekirse iki tarih arasında geçen süreyi şöyle veriyor.
15 yıl , 9 ay , 0 gün 23 saat formatında veriyor bu nednele gayet kullanışlı bu sayede istediğiniz herhangi bir tarihten bu yana ne kadar süre geçtiğini kontrol edebilirsiniz.
Şimdi gelelim bunları bir fonksiyon halinde yazdırmaya.
Php iki tarih arası süre farkı hesaplama
function saat_farki($saat){
date_default_timezone_get("Europe/İstanbul");
$şuanki_saat = time();
$gelen_saat = strtotime($saat);
$fark = $şuanki_saat - $gelen_saat;
$dakika = $fark / 60;
$saniye_farki = floor($fark - (floor($dakika) * 60));
$saat = $dakika / 60;
$dakika_farki = floor($dakika - (floor($saat) * 60));
$gun = $saat / 24;
$saat_farki = floor($saat - (floor($gun) * 24));
$yil = floor($gun/365);
$gun_farki = floor($gun - (floor($yil) * 365));
$array = array(
'yil_farki' => $yil,
'gun_farki' => $gun_farki,
'saat_farki' => $saat_farki,
'dakika_farki' => $dakika_farki,
'saniye_farki' => $saniye_farki
);
return $array;
}
Bu kullandığımız fonksiyon bizlere bir array döndürüyor bu array içerisinde tüm süre farklarını parametre olarak alıyor örneğin ne kadar sadece yıl ve gün farkını yazdırmak istersek kullanmaız gereken kod:
$sure_farki = saat_farki("2020-12-04 17:41:13")
echo 'Yıl farki = '.$sure_farki['yil_farki'];
echo 'Gün Farki = '.$sure_farki['gun_farki'];
Konu hakkında sormak istedkilerinizi yorumlarda belirtebilirsiniz.