@A_J, попробую объяснить иначе то, что тебе уже сказали.
У DateInterval есть два конструктора.
Дефолтный конструктор работает с форматом вида P1D:
Именованный конструктор createFromDateString работает с форматом вида "+1 day":
PHP:
DateInterval::createFromDateString('+1 day')
В итоге ты для любого из входных форматов имеешь возможность получить объект DateInterval, что и требуется.
Если тебе требуется наоборот из объекта DateInterval получить исходную строку - это значит, что ты плохо спроектировал свой проект. Переписывай на работу с DateInterval.