Yayın Tarihi
Php ile iki saat arasındaki farkı almak oldukça basittir. Sadece saati unix zaman damgasına çevirmemiz gerekmektedir. Çünkü matematiksel olarak işlem yapacağımız için 10.50.01 - 23.30.01 gibi bir ifade söz konusu değildir.
<?php
// Zamanı Türkiye'ye göre ayarladık.
date_default_timezone_set('Europe/Istanbul');
$baslangicSaati = strtotime("10.50.01");
$bitisSaati = strtotime("23.30.01");
//saniye çevirdik.
$fark = (($bitisSaati - $baslangicSaati) / 60) / 60;
/*
Önce Aradaki farkı bulduk.
Daha sonra 60 bölerek dakika farkını bulduk.
Daha sonra da tekrar 60 a bölerek saati bulduk.
*/
echo $fark;
?>
<?php
// Zamanı Türkiye'ye göre ayarladık.
date_default_timezone_set('Europe/Istanbul');
$baslangicSaati = strtotime("10:50:12");
//baslangicSaati => o zamana kadar geçen saniyesini buluyoruz.
$bitisSaati = strtotime("12:30:25");
//bitisSaati => o zamana kadar geçen saniyesini buluyoruz.
$fark = $bitisSaati - $baslangicSaati;
//Aradaki saniye farkını bulduk.
$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));
echo $saat_farki . ' saat ';
echo $dakika_farki . ' dakika ';
echo $saniye_farki . ' saniye ';
//Çıktı: 1 saat 40 dakika 13 saniye
?>
Php nin kendine ait diff()
ve new DateTime()
fonksiyonları ile de tarih farkını bulabilirsiniz. Ancak bu özelliğin sunucuda aktif olması gerekmektedir. Ama korkmayın %99 'unda aktif oluyor.
<?php
$baslangicTarihi = new DateTime('1996-05-07 16:27:34');
$bitisTarihi = $baslangicTarihi->diff(new DateTime('2021-06-27 24:32:12'));
echo $bitisTarihi->days . ' Toplam Gün Geçmiştir. <br />';
echo $bitisTarihi->y . ' Yıl ';
echo $bitisTarihi->m . ' Ay ';
echo $bitisTarihi->d . ' Gün ';
echo $bitisTarihi->h . ' Saat ';
echo $bitisTarihi->i . ' Dakika ';
echo $bitisTarihi->s . ' Saniye ';
/* Çıktı:
9182 Toplam Gün Geçmiştir.
25 Yıl 1 Ay 20 Gün 8 Saat 4 Dakika 38 Saniye
*/
?>
Unutmayın; bunlar sadece sizlerin daha iyi anlayabilmesi için yazdığımız ve bulduğumuz örneklerdir. Sizler bunları geliştirebilir ve fonksiyon haline getirebilirsiniz.