1970-01-01 ve sonraki tarihler için hesaplama yapar.
<?phpclass 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>';?>
Çıktısı
10 gün sonra: 2018-06-1510 gün önce: 2018-05-262023-05-23 kadar1813 gün2006-02-24 ten 10 gün sonra: 2006-03-062006-02-24 ten 10 gün önce: 2006-02-142007-02-09 ve 2007-03-23 arası 14 gün2006-03-09 arası 2006-02-23 -42 gün