public function eachMonths($months = 1, \Closure $callback, $onlyFullMonth = false)
    {
        if ($this->lengthInMonths() > 0) {
            return $this->each(
                new \DateInterval("P{$months}M"),
                function (CarbonPeriod $period) use ($months, $callback, $onlyFullMonth) {
                    if (!$onlyFullMonth || $period->lengthInMonths() === $months) {
                        call_user_func_array($callback, func_get_args());
                    }
                }
            );
        }

        return $this;
    }