Hallo Martin,
ja, aber als reine Vermutung: Monate sind unterschiedlich lang. Da bei einer reinen Differenz aber der Kalenderbezug flötengeht, muss date_diff beim Berechnen der Monate von einer "typischen" Länge ausgehen, vermutlich 30. Der Februar hatte in diesem Jahr 29 Tage, also ergibt sich "weniger als 1 Monat" und das wird auf 0 abgerundet, während Februar und März in Summe 60 Tage hatten, also 2 Monate.
Das scheint es tatsächlich zu sein, denn Versuche mit anderen Daten, die nur 1 Monat auseinander liegen, funktioniert es bei mir auch einwandfrei.
Aber sehr merkwürdig, dass es in der geposteten onlinesandbox vom Matthias das Problem nicht gibt. Egal welche PHP-Version ich einstelle.
Gruß,
Marvin