In this article, we will see how to count days excluding weekends and holidays in laravel 9. Here, we will learn to skip weekends and holidays in laravel 7, laravel 8 and laravel 9 using carbon. We will use laravel carbon to get the difference between the two dates and calculate weekdays and holidays.
Carbon provides diffInDaysFiltered()
, diffInHoursFiltered()
and diffFiltered()
, to help you filter the difference by days, hours or a custom interval. For example, to count the weekend days between two dates.
So, let's see PHP count days excluding weekends and holidays, laravel 9 skip weekends and holidays, how to exclude weekends and holidays in laravel 8 and laravel 9, and laravel carbon count working days between two dates.
In this example, we will use carbon function.
<?php
$dt = Carbon::create(2023, 1, 1);
$dt2 = Carbon::create(2023, 12, 31);
$holidays = [
Carbon::parse("2023-01-26"),
Carbon::parse("2023-08-15"),
];
$daysForExtraCoding = $dt->diffInDaysFiltered(function (Carbon $date) use ($holidays) {
return $date->isWeekday() && !in_array($date, $holidays);
}, $dt2);
echo $daysForExtraCoding;
Output:
In this example, you can add a custom holiday list and get the number of days excluding weekdays using the carbon function.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Carbon\Carbon;
class UserController extends Controller
{
/**
* Write code on Method
*
* @return response()
*/
public function index()
{
$startDate = Carbon::parse("2023-01-01");
$endDate = Carbon::parse("2023-12-31");
$holidays = [
Carbon::parse("2023-01-26"),
Carbon::parse("2023-08-15")
];
$days = $startDate->diffInDaysFiltered(function (Carbon $date) use ($holidays) {
return $date->isWeekday() && !in_array($date, $holidays);
}, $endDate);
dd($days);
}
}
Output:
You might also like:
- Read Also: How To Count Working Days In Laravel 9
- Read Also: Carbon Add Hours To Date In Laravel 9
- Read Also: Laravel whereDate and whereDay Example
- Read Also: How To Disable Weekends In jQuery Datepicker