PHPCon Poland 2024



(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateTime::sub -- date_sub Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object


Object-oriented style

public DateTime::sub(DateInterval $interval): DateTime

Procedural style

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

Modifies the specified DateTime object, by subtracting the specified DateInterval object.

Like DateTimeImmutable::sub() but works with DateTime.

The procedural version takes the DateTime object as its first argument.



Procedural style only: A DateTime object returned by date_create(). The function modifies this object.


A DateInterval object

Return Values

Returns the modified DateTime object for method chaining.


Object Orientated API only: If an unsupported operation is attempted, such as using a DateInterval object representing relative time specifications such as next weekday, a DateInvalidOperationException is thrown.


Version Description
8.3.0 Now throws a DateInvalidOperationException with DateTime::sub(), instead of a warning when an unsupported operation is attempted. date_sub() has not been changed.

See Also

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top