Wednesday, April 2, 2008

Date difference using MySQL

/* ==================================
Date difference using MySQL by http://php-busy.blogspot.com
================================== */

$link=mysql_connect("localhost","mysqluser","mysqlpassword");

//$dNow=date("Y-m-d");
$dNow="2008-03-08 00-00-00";
$dDate="1986-09-04 00-00-00";

// Query for get number of day between $dNow and $dDate
$dDayDiff=mysql_query("SELECT DATEDIFF('$dNow','$dDate');");
$iResult=mysql_result($dDayDiff,0)-1;
echo "- Day between $dNow and $dDate is ".$iResult." days
"; // display day between $dNow and $dDate


// Initializing for Year difference
$iYearNow=date("Y");
$iYearSplit=split("-",$dDate);
$iYearDate=$iYearSplit[0];
$iYear=$iYearNow-$iYearDate;

// Query for day of all year
for($i=0;$i<=$iYear-1;$i++)
{
$dYearDiff=mysql_query("SELECT DAYOFYEAR('$iYearDate-12-31');"); // Query for day of year
$iYearResult=mysql_result($dYearDiff,0);
$aYear[$i]=$iYearResult;
$iYearDate++;
}

// Count day of year
$iSumDay=$iResult;
for($i=0;$i<=$iYear-1;$i++)
{
if ($iSumDay>=$aYear[$i]) {
$iSumDay=$iSumDay-$aYear[$i];
} else {
$iYear=$i;
break;
}
}
echo "- Date difference is : ".$iYear." years, ".$iSumDay." days
"; // Display result

/* ==================================
I start it's for using to count year only, other difference is you.
================================== */
?>

No comments: