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
Laravel 8 Toastr Notifications Example
Laravel 8 Toastr Notifications...

Today, I will show you Laravel 8 Toastr Notifications Example. There are many types of notifications availa...

Read More

Oct-19-2020

Carbon Add Minutes In Laravel
Carbon Add Minutes In Laravel

In this example, we will see carbon add minutes in laravel. Here we will give you a simple example of laravel carbo...

Read More

Dec-11-2020

How To Remove Package From Laravel
How To Remove Package From Lar...

In this article, we will see how to remove the package from laravel. there are different ways to remove packages fr...

Read More

Oct-31-2022

How To Live Search In Laravel 9 Using Meilisearch
How To Live Search In Laravel...

In this article, we will see how to live search in laravel 9 using Meilisearch. Here we will learn live search in l...

Read More

Dec-13-2022