Please note, add() works a litte different than for DateTime-Objects.
Since DateTimeImmutable is in fact immutable. A line like this will not work:
$di = new DateTimeImmutable("2018-12-12T10:00:00");
$di->add(new DateInterval('PT45M')); // $di unchanged !!!
compared to
$dt = new DateTime("2018-12-12T10:00:00");
$dt->add(new DateInterval('PT45M')); // added 45 minutes
so you need to write
$di = new DateTimeImmutable("2018-12-12T10:00:00");
$di = $di->add(new DateInterval('PT45M')); // $di now changed