I also remember as PHP programming language still won't do it with this function: DateTimeInterface::ISO8601 DATE_ISO8601 https://www.php.net/manual/en/class.datetimeinterface.php#datetime.constants.iso8601
You need the DateTimeInterface::ISO8601_EXPANDED which can actually accept non compliant strings too.
PHP - wherever you see an intuitive solution it's wrong or has important caveats.
I also remember as PHP programming language still won't do it with this function: DateTimeInterface::ISO8601 DATE_ISO8601 https://www.php.net/manual/en/class.datetimeinterface.php#datetime.constants.iso8601
You need the DateTimeInterface::ISO8601_EXPANDED which can actually accept non compliant strings too.
PHP - wherever you see an intuitive solution it's wrong or has important caveats.