The DateTime (and immutable DateTimeImmutable) class provides an object-oriented interface that is safer and more expressive than the procedural functions.
new DateTime()creates an object representing the current moment (or a parsed string).format()uses the same format characters asdate().modify()accepts human-readable relative strings.
Prefer DateTimeImmutable — its modification methods return a new object instead of mutating the original, preventing subtle bugs.