İki Tarih Arasındaki Farkı Bulmak

PHP
59 lines
<?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şı
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
1 lines
37933
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX