Нет встроенного метода для определения возраста в месяцах, но решить его довольно просто:
$ageInYears = \Carbon\Carbon::parse($birthday)->age;
$ageInMonths = $ageInYears * 12;
Это не идеально, поскольку возраст не возвращается в виде десятичной дроби, поэтому 10 лет могут быть где-то между 120 и 131 месяцами.
Если вы хотите что-то более точное, вы можете использовать diffInMonths
примерно так:
$ageInMonths = \Carbon\Carbon::now()->diffInMonths(\Carbon\Carbon::parse($birthday));
Кроме того, ->format("months");
недопустим, поскольку "months"
не является допустимым форматом даты PHP. Кроме того, ->format("m")
(что является правильным значением) не будет работать на ->age
, поскольку ->age
возвращает int
, а не Carbon
дату.
См. http://php.net/manual/en/function.date.php для всех доступных опций форматирования даты PHP.