Convert decimal year to year, months and days

10 11 2008


/**
*  Function    : year2monthsNdays
*  Arguments    : $years float value (Ex: 42.5, 30.89, 52.00, etc..)
*  Returns        : array (year,month,days as keys)
*  Description    : Converts a given float value of years to years, months and days
*/
function year2monthsNdays($years)
{
$array    = explode(".",$years);
$year    = $array[0];
$month    = ($array[1]>9) ? $array[1]/100 : $array[1]/10;
if ($month) {
$days        = round($month*365,2);
$daysArray    = explode(".",$days);
$months        = round($daysArray[0]/30,2);
$monthArray    = explode(".",$months);
$monthInt    = $monthArray[0];
$daysInt    = round($monthArray[1]*30/100,1);
}
$returnArray['year']    = $year;
$returnArray['month']    = $monthInt;
$returnArray['days']    = $daysInt;
return $returnArray;
}