PHP DateTime

$a = new DateTime();
$a->createFromFormat("Y-m-d", "2018-03-14");
$a->setTime(0,0,0);

Erzeugt eine DateTime-Variable auf Basis eines Datums.

Die genauen Format-Platzhalter gibt es hier.

Will man zu einem bestehenden Zeitpunkt eine Zeitspanne hinzufügen, so geht dies mit

$b = new DateInterval("P1Y");
$a->add($b);

In diesem Beispiel wird ein Jahr hinzugefügt. Als Konstruktorübergabe kann ein String übergeben werden, der mit "P" anfängt und anschließend die einzelnen Daten der Spanne angibt.

Details dazu hier

Wichtig: Sowohl Monate, als auch Minuten nutzen beide den Buchstaben "M" (warum auch immer… :/). In den Kommentaren findet sich dazu folgender Hinweis:

Monate:

$c = new DateInterval("P3M");

Minuten (Das "T" soll "Time" signalisieren):

$c = new DateInterval("PT3M");

Quelle