Ich habe das folgende Beispiel von mir die DateInterval von DateTimeImmutable SubtrahierenPHP Datetime-sub führt zu unerwarteten Ergebnissen
$dateA = new DateTimeImmutable('2016-06-30');
$dateB = new DateTimeImmutable('2016-05-31');
$dateInterval = new DateInterval('P3M');
// print 2016-03-30 as expected
echo $dateA->sub($dateInterval)->format('Y-m-d');
// print 2016-03-02 which i would expect 2016-02-29
echo $dateB->sub($dateInterval)->format('Y-m-d');
Wenn ich die Zeit zu ‚P8M‘ gesetzt funktioniert es wie erwartet. Wie kommt es, dosent funktioniert für Februar?
Es, weil 30. Februar 2016-03-02 werden. Aber wenn Sie das Datum auf 1-28 setzen, funktioniert es wie erwartet – splash58
Warum ist das immer "unerwartet"? –
@MarkBaker wahrscheinlich, während das Datum auf den letzten Tag eines Monats, jemand möchte auf diese Weise den letzten Tag eines anderen Monats bekommen – splash58