Please note that Daylight Saving Time (DST) transitions only work as expected when using new \DateInterval(), not \DateInterval::createFromDateString().
<?php
$now = new \DateTimeImmutable("2025-03-29 13:00:00", new DateTimeZone('Europe/Berlin'));
var_dump($now);
// 2025-03-29 13:00:00
var_dump($now->add(\DateInterval::createFromDateString('1440 minutes')));
// 2025-03-30 13:00:00
var_dump($now->add(new \DateInterval('PT1440M')));
// 2025-03-30 14:00:00
// these are not equivalent:
var_dump(\DateInterval::createFromDateString('1440 minutes'));
var_dump(new \DateInterval('PT1440M'));
?>