How To Count Days Between Two Dates In PHP Excluding Weekends

Websolutionstuff | Jan-25-2023 | Categories : PHP

In this article, we will see how to count days between two dates in PHP excluding weekends. Here, we will learn to get day differences without weekends in PHP. Also, we will use the PHP date and time function and date interval function. S, you can easily count the day between two dates.

So let's see, PHP day difference without weekends, calculate days between two dates excluding weekends in PHP, and how to count days between two dates in PHP.

DateInterval: A date interval stores either a fixed amount of time in years, months, days, hours etc, or a relative time string in the format.

DatePeriod: A date period allows iteration over a set of dates and times, recurring at regular intervals, over a given period.

Example:

In this example, we will use DateTimeDateInterval and DatePeriod.

<!DOCTYPE html>
<html>
<body>

<?php
$start = new DateTime('2022-01-01');
$end = new DateTime('2022-01-31');
// otherwise the  end date is excluded (bug?)
$end->modify('+1 day');

$interval = $end->diff($start);

// total days
$days = $interval->days;

// create an iterateable period of date (P1D equates to 1 day)
$period = new DatePeriod($start, new DateInterval('P1D'), $end);

// best stored as array, so you can add more than one
$holidays = array('2022-01-26');

foreach($period as $dt) {
    $curr = $dt->format('D');

    // substract if Saturday or Sunday
    if ($curr == 'Sat' || $curr == 'Sun') {
        $days--;
    }

    // (optional) for the updated question
    elseif (in_array($dt->format('Y-m-d'), $holidays)) {
        $days--;
    }
}


echo $days;
?>

</body>
</html>

Output:

20

 


You might also like:

Recommended Post
Featured Post
How To Drop Foreign Key In Laravel 10 Migration
How To Drop Foreign Key In Lar...

In this article, we will explore the process of removing foreign key constraints in Laravel 10 migrations. We will delve...

Read More

Apr-28-2023

Adding Bootstrap 5 To Angular 15: Step-by-Step Guide
Adding Bootstrap 5 To Angular...

Welcome to my comprehensive step-by-step guide on integrating Bootstrap 5 into Angular 15. As a developer, I understand...

Read More

Jun-12-2023

Building a Custom WebSocket Server with Laravel 11 and Ratchet
Building a Custom WebSocket Se...

In this tutorial, I'll walk you through the process of building a custom WebSocket server using Laravel 11 and Ratch...

Read More

Sep-23-2024

How to File Upload in Angular 17 Tutorial
How to File Upload in Angular...

In this article, we'll see how to file upload in the angular 17 tutorial. Here, we'll learn about file uplo...

Read More

Apr-03-2024