Methode setDate der Klasse DateTime
Die Methode setDate ändert das Datum im Objekt DateTime. Sie akzeptiert drei Parameter: Jahr (Ganzzahl), Monat (Ganzzahl von 1 bis 12) und Tag (Ganzzahl von 1 bis 31). Gibt das modifizierte DateTime-Objekt zurück.
Syntax
public DateTime::setDate(int $year, int $month, int $day): DateTime
Beispiel
Setzen wir das neue Datum auf den 15. März 2023:
<?php
$date = new DateTime();
$date->setDate(2023, 3, 15);
echo $date->format('Y-m-d');
?>
Ergebnis der Codeausführung:
'2023-03-15'
Beispiel
Automatische Korrektur falscher Daten (der 32. Januar wird in den 1. Februar umgewandelt):
<?php
$date = new DateTime();
$date->setDate(2023, 1, 32);
echo $date->format('Y-m-d');
?>
Ergebnis der Codeausführung:
'2023-02-01'
Beispiel
Setzen eines Datums mit negativen Werten (Übergang zum vorherigen Jahr):
<?php
$date = new DateTime();
$date->setDate(2023, -1, 15);
echo $date->format('Y-m-d');
?>
Ergebnis der Codeausführung:
'2022-11-15'