PHP DateInterval: Supports date addition and subtraction operations

PHP DateInterval: Supports date addition and subtraction operations


In PHP programming, the DateInterval class serves as a powerful tool for various time-related operations, offering functionalities for creating, processing, and manipulating time spans. Below is an overview of how to utilize DateInterval to create, handle, and perform operations on time intervals.

Processing Time Intervals in PHP

To calculate the number of days between two dates, the diff method is employed:

$date1 = new DateTime('2024-01-20'); 
$date2 = new DateTime('2024-02-01'); 
$interval = $date1->diff($date2); 
echo $interval->days; // Result: 12

Accessing Interval Components

Accessing components such as days, hours, and minutes is achieved using properties:

echo $interval->d; // Number of days 
echo $interval->h; // Number of hours 
echo $interval->i; // Number of minutes

Using DateInterval Functions in PHP

PHP provides functions like add() and sub() for adding and subtracting time intervals:

$date = new DateTime('2024-01-20'); 
$date->add(new DateInterval('P10D')); // Add 10 days 
echo $date->format('Y-m-d'); // Result: 2024-01-30

Validating Time Intervals

To ensure the validity of a time interval, createFromDateString is utilized:

$interval = DateInterval::createFromDateString('1 day');
if ($interval instanceof DateInterval) {
    // Valid time interval

Creating Intervals from String, Array, and DateTime:

Date intervals can be created from strings, arrays, or by using diff between two DateTime objects:

$intervalFromString = DateInterval::createFromDateString('2 weeks');
$intervalFromArray = DateInterval::createFromDateString(implode(' ', ['d' => 5, 'h' => 3, 'm' => 30]));

$date1 = new DateTime('2024-01-20');
$date2 = new DateTime('2024-02-01');
$intervalFromDateTime = $date1->diff($date2);

Creating Intervals from Formatted String:

Utilize createFromFormat to create DateInterval from a formatted string:

$interval = DateInterval::createFromFormat('P%yY%mM%dD', 'P1Y2M3D');

Operations on Time Intervals:

Once a DateInterval is obtained, various operations such as comparison, formatting, and sorting can be performed:

if ($interval1 > $interval2) {
    // Perform some operations

echo $interval->format('%R%a days'); // Display the number of days with a sign

In conclusion, employing the DateInterval class in PHP facilitates efficient management and execution of operations related to time intervals in programming applications.


  • Dateinterval p1d
  • DateInterval
  • Php dateinterval to days
  • Createfromdatestring
  • Date PHP
  • DatePeriod PHP
  • Time library php
  • Dateinterval format