İki tarih arasındaki farkı bulma fonksyonu

Başlatan Amad, 14 Mart 2009 - 16:04:16

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

Amad

Arkadaşlar ben PHP'de datediff tarzı bir fonksyon göremediğim için yazdım birtane. İhtiyacı olan arkadaşlar için kodları aşağıda veriyorum.
Kullanımı örneğin
echo tarihfark(time(), strtotime("-10 days -1 hour -1 second"));

function tarihfark($tarih1, $tarih2)
{
$doncek = null;
$fark = _tarihfark($tarih1,$tarih2);
if($fark[0] > 0) { $doncek .= $fark[0] . " yıl "; }
if($fark[1] > 0) { $doncek .= $fark[1] . " ay "; }
if($fark[2] > 0) { $doncek .= $fark[2] . " gün "; }
if($fark[3] > 0) { $doncek .= $fark[3] . " saat "; }
if($fark[4] > 0) { $doncek .= $fark[4] . " dakika "; }
if($fark[5] > 0) { $doncek .= $fark[5] . " saniye "; }
return $doncek;
}
function _tarihfark($tarih1, $tarih2)
{
$dd = $tarih1 - $tarih2;
$doncek = array(0,0,0,0,0,0);
$yil = floor($dd / 31536000);
$ay = floor($dd /  2592000);
$gun = floor($dd / 86400);
$saat = floor($dd / 3600);
$dakika = floor(($dd / 60));
if($yil > 0){$doncek[0] = $yil; $dd -= $yil * 3156000;}
if($ay > 0){$doncek[1] = $ay; $dd -= $ây * 2592000;}
if($gun > 0){$doncek[2] = $gun; $dd -= $gun * 86400;}
if($saat > 0){$doncek[3] = $saat; $dd -= $saat * 3600;}
if($dakika > 0){$doncek[4] = $dakika; $dd -= $dakika * 60;}
if($dd > 0){$doncek[5] = $dd;}
return $doncek;
}
Hanım! Kahvemi getir!