note 49125 deleted from ref.datetime by didou
| From: | didou@php.net | Date: | Mon, 17 Jan 2005 17:29:41 +0000 |
| Subject: | note 49125 deleted from ref.datetime by didou | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-83504@lists.php.net to get a copy of this message | ||
Note Submitter: andreencinas at yahoo dot com dot br
----
function dateDiff($type,$dateTimeBegin,$dateTimeEnd) {
//Analisa qualquer descrição em texto em inglês de data hora em timestamp Unix
if($type!="d" && $type!="m" &&
$type!="y") {
return("..type Invalid");
}
$dateTimeBegin=strtotime($dateTimeBegin);
if($dateTimeBegin === -1) {
return("..begin date Invalid");
}
$dateTimeEnd=strtotime($dateTimeEnd);
if($dateTimeEnd === -1) {
return("..end date Invalid");
}
switch($type) {
case "d":
$dif=$dateTimeEnd - $dateTimeBegin;
//86400 24horas
return(floor($dif / 86400));
case "m":
$anosTransc=date("Y",$dateTimeEnd) -
date("Y",$dateTimeBegin);
$mesesTransc=date("n",$dateTimeEnd) -
date("n",$dateTimeBegin);
//transformando o sinal
if($mesesTransc<0) {$mesesTransc=$mesesTransc-($mesesTransc*2);}
return(($anosTransc*12) + $mesesTransc);
case "y":
return(date("Y",$dateTimeEnd) -
date("Y",$dateTimeBegin));
default:
$dif=$dateTimeEnd - $dateTimeBegin;
//86400 24horas
return(floor($dif / 86400));
}
}