$start = Carbon::create(2020, 1, 1);
$end = Carbon::create(2020, 12, 31);
$oddDays = $start->diffInDaysFiltered(function ($date) {
return $date->isMonday() ||
$date->isWednesday() ||
$date->isFriday() ||
$date->isSunday();
}, $end);
$evenDays = $start->diffInDaysFiltered(function ($date) {
return $date->isTuesday() ||
$date->isThursday() ||
$date->isSaturday();
}, $end);
Or easier
$start = Carbon::create(2020, 1, 1);
$end = Carbon::create(2020, 12, 31);
$oddDays = $start->diffInDaysFiltered(function ($date) {
return in_array($date->dayOfWeek, [1, 3, 5, 0]);
}, $end);
$evenDays = $start->diffInDaysFiltered(function ($date) {
return in_array($date->dayOfWeek, [2, 4, 6]);
}, $end);