function SplitYears($startDate, $endDate, $TotalAmount) { if (substr($startDate, 0, 1) == 2) { $startDate = DateModules::miladi_to_shamsi($startDate); } if (substr($endDate, 0, 1) == 2) { $endDate = DateModules::miladi_to_shamsi($endDate); } $arr = preg_split('/[\\-\\/]/', $startDate); $StartYear = $arr[0] * 1; $totalDays = 0; $yearDays = array(); $newStartDate = $startDate; while (DateModules::CompareDate($newStartDate, $endDate) < 0) { $arr = preg_split('/[\\-\\/]/', $newStartDate); $LastDayOfYear = DateModules::lastJDateOfYear($arr[0]); if (DateModules::CompareDate($LastDayOfYear, $endDate) > 0) { $LastDayOfYear = $endDate; } $yearDays[$StartYear] = DateModules::JDateMinusJDate($LastDayOfYear, $newStartDate) + 1; $totalDays += $yearDays[$StartYear]; $StartYear++; $newStartDate = DateModules::AddToJDate($LastDayOfYear, 1); } $TotalDays = DateModules::JDateMinusJDate($endDate, $startDate) + 1; $sum = 0; foreach ($yearDays as $year => $days) { $yearDays[$year] = round($days / $TotalDays * $TotalAmount); $sum += $yearDays[$year]; //echo $year . " " . $days . " " . $yearDays[$year] . "\n"; } if ($sum != $TotalAmount) { $yearDays[$year] += $TotalAmount - $sum; } return $yearDays; }