How To Count Days Excluding Weekends And Holidays In Laravel 9

Websolutionstuff | Jan-24-2023 | Categories : Laravel PHP

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.

Example:

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:

258

 

Example:

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:

258

 


You might also like:

Recommended Post
Featured Post
How To Create User Roles And Permissions In Laravel 10
How To Create User Roles And P...

In this article, we will see how to create user roles and permissions in laravel 10. Here, we will learn about roles and...

Read More

Apr-03-2023

How To Create Custom Helper Function In Laravel 10
How To Create Custom Helper Fu...

In this article, we'll explore how to create a custom helper function in Laravel 10. This custom helper function can...

Read More

Mar-20-2023

How To Convert Image To Base64 In Laravel 9
How To Convert Image To Base64...

In this article, we will see how to convert an image to base64 in laravel 9. Here, we will convert the image to bas...

Read More

Dec-29-2022

Google Autocomplete Address In Laravel 8
Google Autocomplete Address In...

In this example we will see how to google autocomplete address in laravel 8. In laravel 8 google autocomplete address tu...

Read More

Aug-16-2021