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
Special Characters Not Allowed Validation In Laravel 9
Special Characters Not Allowed...

In this article, we will see special characters not allowed validation in laravel 9. Here, we will learn special ch...

Read More

Dec-23-2022

Laravel 9 Two Factor Authentication Using Email
Laravel 9 Two Factor Authentic...

In this article, we will see laravel 9 two-factor authentication using email. Here, we will send the OTP code to em...

Read More

Dec-22-2022

How To Validate URL In PHP With Regex
How To Validate URL In PHP Wit...

Hello Guys, In this tutorial we will see how to validate URL in PHP with regex. also you can implement in larave...

Read More

Apr-13-2021

Laravel 11 Simple Pagination Example
Laravel 11 Simple Pagination E...

Hello developers! In this article, we'll see the laravel 11 simple pagination example. Here, we'll use Bootstrap...

Read More

May-03-2024