Zaman Makinesi Sınıfı ile Geçmiş ve Geleceğe Gitmek

<?php
date_default_timezone_set('Europe/Istanbul');
class zamanMakinesi{
	var $tarih;
	var $eksilt;
	var $unite;
  function zamanMakinesi(){
		$this->tarih = NULL;
		$this->eksilt = NULL;
		$this->unite = NULL;
  }
	function tarihler($tarih,$eksilt,$unite){
		$yil = date("Y",strtotime($tarih));
		$ay = date("m",strtotime($tarih));
		$gun = date("d",strtotime($tarih));
		$saat = date("H",strtotime($tarih));
		$dakika = date("i",strtotime($tarih));
		$saniye = date("s",strtotime($tarih));
		if($unite=="ay") {
			$yenitarih = mktime ($saat,$dakika,$saniye,$ay-$eksilt,$gun, $yil);
			$yenitarih = date("d-m-Y H:i:s", $yenitarih);
		} elseif( $unite=="gun") {
			$yenitarih = mktime ($saat,$dakika,$saniye,$ay,$gun-$eksilt, $yil);
			$yenitarih = date("d-m-Y H:i:s", $yenitarih);
		} elseif ($unite=="yil") {
			$yenitarih = mktime ($saat,$dakika,$saniye,$ay,$gun, $yil-$eksilt);
			$yenitarih = date("d-m-Y H:i:s", $yenitarih);
		} elseif( $unite=="saat") {
			$yenitarih = mktime ($saat-$eksilt,$dakika,$saniye,$ay,$gun, $yil);
			$yenitarih = date("d-m-Y H:i:s", $yenitarih);
		} elseif ($unite=="dakika") {
			$yenitarih = mktime ($saat,$dakika-$eksilt,$saniye,$ay,$gun, $yil);
			$yenitarih = date("d-m-Y H:i:s", $yenitarih);
		} elseif( $unite=="saniye") {
			$yenitarih = mktime ($saat,$dakika,$saniye-$eksilt,$ay,$gun, $yil);
			$yenitarih = date("d-m-Y H:i:s", $yenitarih);
		}
		else{
			return false;
		}
		return $yenitarih;
	}
}
echo date("d-m-Y H:i:s")."<br>";
$t=new zamanMakinesi;
echo $t->tarihler(date("d-m-Y H:i:s"),1,"yil")."<br>";
echo $t->tarihler(date("d-m-Y H:i:s"),-1,"ay")."<br>";
echo $t->tarihler(date("d-m-Y H:i:s"),1,"gun")."<br>";
echo $t->tarihler(date("d-m-Y H:i:s"),-1,"saat")."<br>";
echo $t->tarihler(date("d-m-Y H:i:s"),1,"dakika")."<br>";
echo $t->tarihler(date("d-m-Y H:i:s"),-1,"saniye")."<br>";
?>

Çıktısı

24-05-2018 03:26:01
24-05-2017 03:26:01
24-06-2018 03:26:01
23-05-2018 03:26:01
24-05-2018 04:26:01
24-05-2018 03:25:01
24-05-2018 03:26:02