DateTime::sub

date_sub

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

&reftitle.description;

&style.oop;

public `DateTime` `DateTime::sub` `DateInterval` `interval`

&style.procedural;

`DateTime` `date_sub` `DateTime` `object` `DateInterval` `interval`

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.

&reftitle.parameters;
&date.datetime.description.modified;

`interval`

- A `DateInterval` object

&reftitle.returnvalues;

&date.datetime.return.modifiedobject;

&reftitle.errors;

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.

&reftitle.changelog;

&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.

&reftitle.seealso;

- `DateTimeImmutable::sub`