<?php
function percentYear($a, $b)
{
//Takes in two dates and returns the decimal of days per year for that specific year
// I made this in order to fix the issue of leap years.
if(strtotime($a)<strtotime($b)){
list($a, $b) = array($b, $a);
}
$aYearDay = date("z", strtotime($a)) + 1;
$aYearDays = date("z", strtotime(date("Y", strtotime($a))."-12-31")) + 1;
$aPercent = $aYearDay/$aYearDays;
$bYearDay = date("z", strtotime($b)) + 1;
$bYearDays = date("z", strtotime(date("Y", strtotime($b))."-12-31")) + 1;
$bPercent = $bYearDay/$bYearDays;
if(date("Y", strtotime($a))!=date("Y", strtotime($b)))
{
$aPercent += abs(date("Y", strtotime($a))-date("Y", strtotime($b)));
}
return abs($aPercent-$bPercent);
}
var_dump( percentYear("2013-02-04", "2012-02-04"));
var_dump( percentYear("2011-02-04", "2010-02-04"));