/** * * @param date $dateOfInvestment yyyy-mm-dd * @param int $minimumMonths duration in months * @return date yyyy-mm-dd */ public function earliestWithrawalDate($dateOfInvestment, $minimumMonths) { $splitDate = Defaults::dateExplode($dateOfInvestment); $splitDate['mth'] = $splitDate['mth'] + $minimumMonths; if ($splitDate['mth'] > 12) { $splitDate['yr']++; $splitDate['mth'] = $splitDate['mth'] - 12; } if ($splitDate['dt'] > ($maxDate = Defaults::maxdate($splitDate['mth'], $splitDate['yr']))) { $splitDate['dt'] = $maxDate; } return $splitDate['yr'] . '-' . Defaults::twoDigits($splitDate['mth']) . '-' . Defaults::twoDigits($splitDate['dt']); }