useCustomFiscalYear = Preferences::get('customFiscalYear', false)->data; } /** * @param Carbon $date * * @return Carbon date object */ public function endOfFiscalYear(Carbon $date): Carbon { // get start of fiscal year for passed date $endDate = $this->startOfFiscalYear($date); if ($this->useCustomFiscalYear === true) { // add 1 year and sub 1 day $endDate->addYear(); $endDate->subDay(); return $endDate; } $endDate->endOfYear(); return $endDate; } /** * @param Carbon $date * * @return Carbon date object */ public function startOfFiscalYear(Carbon $date): Carbon { // get start mm-dd. Then create a start date in the year passed. $startDate = clone $date; if ($this->useCustomFiscalYear === true) { $prefStartStr = Preferences::get('fiscalYearStart', '01-01')->data; list($mth, $day) = explode('-', $prefStartStr); $startDate->month(intval($mth))->day(intval($day)); // if start date is after passed date, sub 1 year. if ($startDate > $date) { $startDate->subYear(); } return $startDate; } $startDate->startOfYear(); return $startDate; } }