HomeMenu
Jesus · Bible · HTML · CSS · JS · PHP · SVG · Applications

date_sub

Description

The date_sub of Date / Time for PHP subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object.

Syntax

date_sub(
    DateTime $object,
    DateInterval $interval
): DateTime

Parameters

object

A DateTime object returned by date_create(). The function modifies this object.

interval

A DateInterval object

Return

Returns the modified DateTime object for method chaining.

Examples

1 · object interval

<?

$object = date_create();
$interval = date_interval_create_from_date_string("1 year 1 month 1 week 1 day 1 hour 1 minute 1 second");

date_sub($object, $interval);

print_r($object);
DateTime Object
(
    [date] => 2024-09-30 20:21:41.885332
    [timezone_type] => 3
    [timezone] => UTC
)

2 · return

<?

$object = date_create();
$interval = date_interval_create_from_date_string("1 year 1 month 1 week 1 day 1 hour 1 minute 1 second");

$return = date_sub($object, $interval);

print_r($return);
DateTime Object
(
    [date] => 2024-09-30 20:21:41.944896
    [timezone_type] => 3
    [timezone] => UTC
)

3 · date_format

<?

$format = "Y-m-d h:i:s";

$object = date_create();
$interval = date_interval_create_from_date_string("1 year");
date_sub($object, $interval);
echo date_format($object, $format) . PHP_EOL;

$object = date_create();
$interval = date_interval_create_from_date_string("1 month");
date_sub($object, $interval);
echo date_format($object, $format) . PHP_EOL;

$object = date_create();
$interval = date_interval_create_from_date_string("1 week");
date_sub($object, $interval);
echo date_format($object, $format) . PHP_EOL;

$object = date_create();
$interval = date_interval_create_from_date_string("1 day");
date_sub($object, $interval);
echo date_format($object, $format) . PHP_EOL;

$object = date_create();
$interval = date_interval_create_from_date_string("1 hour");
date_sub($object, $interval);
echo date_format($object, $format) . PHP_EOL;

$object = date_create();
$interval = date_interval_create_from_date_string("1 minute");
date_sub($object, $interval);
echo date_format($object, $format) . PHP_EOL;

$object = date_create();
$interval = date_interval_create_from_date_string("1 second");
date_sub($object, $interval);
echo date_format($object, $format);
2024-11-08 09:22:43
2025-10-08 09:22:43
2025-11-01 09:22:43
2025-11-07 09:22:43
2025-11-08 08:22:43
2025-11-08 09:21:43
2025-11-08 09:22:42