<?php class ZamanFarkiHesapla{ var $damga1; var $damga2; function yilGetir($veri){ $sonuc=getdate($veri); return ($sonuc['year']); } function gunGetir($damga){ $sonuc=getdate($damga); return (($sonuc['yday'])+1); } function yilGun($year){ $sonuc=$this->gunGetir(strtotime("$year-12-31")); return $sonuc; } function gecenYilGun($damga){ $year=$this->yilGetir($damga); $sonuc=$this->gunGetir(strtotime("$year-12-31")); return $sonuc; } function sonYilGunu($damga){ $gecen_yil_gun=$this->gecenYilGun($damga); $gun_getir=$this->gunGetir($damga); return ($gecen_yil_gun-$gun_getir); } function farkGetir($d1,$d2){ $ortala=0; $this->damga1=strtotime($d1); $this->damga2=strtotime($d2); $yil1=$this->yilGetir($this->damga1); $yil2=$this->yilGetir($this->damga2); $fark=$yil2 - $yil1; switch ($fark) { case '0': $gun1=$this->gunGetir($this->damga1); $gun2=$this->gunGetir($this->damga2); $sonuc=$gun2-$gun1; break; case '1': $gun1=$this->sonYilGunu($this->damga1); $gun2=$this->gunGetir($this->damga2); $sonuc=$gun1+$gun2; break; case $fark>=2: $gun1=$this->sonYilGunu($this->damga1); $gun2=$this->gunGetir($this->damga2); for( $i=(( $this->yilGetir($this->damga1) )+1);$i<( $this->yilGetir($this->damga2) );$i++ ) $ortala+=$this->yilGun($i); $sonuc=$gun1+$gun2+$ortala; break; } return $sonuc; } } $dateDiff= new ZamanFarkiHesapla(); echo $dateDiff->farkGetir("1914-07-28","2018-06-05");//1.Dünya Savaşı ?>
Çıktısı
37933