Tarih Farkı Sınıfı

1970-01-01 ve sonraki tarihler için hesaplama yapar.

PHP
37 lines
<?php
class TarihFarki {
var $t1=0;
var $t2=0;
function farkTarih ($tarih1, $tarih2=NULL) {
$t1 = strtotime($tarih1);
if ($tarih2==NULL) { $t2 = $t1; $t1 = time(); }
else $t2 = strtotime($tarih2);
return ($t2-$t1)/86400;
}
function gunEkle ($gun, $format="Y-m-d", $tarih=NULL) {
if ($tarih==NULL) { $t1 = time(); }
else $t1 = strtotime($tarih);
$t2 = $gun * 86400;
return date($format,($t2+$t1));
}
function gunCikar ($gun, $format="Y-m-d", $tarih=NULL) {
return $this->gunEkle(-($gun),$format,$tarih);
}
}
$dt = new TarihFarki;
$tarih = $dt->gunEkle(10);
echo '10 gün sonra: '.$tarih.'<br>';
$tarih = $dt->gunCikar(10);
echo '10 gün önce: '.$tarih.'<br>';
$fark = $dt->farkTarih('2023-05-23');
echo '2023-05-23 kadar '.round($fark).' gün<br>';
$tarih = $dt->gunEkle(10,'Y-m-d','2006-02-24');
echo '2006-02-24 ten 10 gün sonra: '.$tarih.'<br>';
$tarih = $dt->gunCikar(10,'Y-m-d','2006-02-24');
echo '2006-02-24 ten 10 gün önce: '.$tarih.'<br>';
$fark = $dt->farkTarih('2007-02-23','2007-03-09');
echo '2007-02-09 ve 2007-03-23 arası '.$fark.' gün<br>';
$fark = $dt->farkTarih('2006-03-23','2006-02-09');
echo '2006-03-09 arası 2006-02-23 '.$fark.' gün<br>';
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
7 lines
10 gün sonra: 2018-06-15
10 gün önce: 2018-05-26
2023-05-23 kadar1813 gün
2006-02-24 ten 10 gün sonra: 2006-03-06
2006-02-24 ten 10 gün önce: 2006-02-14
2007-02-09 ve 2007-03-23 arası 14 gün
2006-03-09 arası 2006-02-23 -42 gün
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Sizin Değerli Görüşlerinize İhtiyacımız Var.