object; $result = DateTimeImmutable::createFromFormat(DATE_RFC3339, $object->normalize()); if ($result !== false) { return $result; } $formatted = DateTimeImmutable::createFromFormat('Y-m-d\TH:i:s.uP', $object->normalize()); if ($formatted === false) { throw new InvalidArgumentException('Invalid data. Cannot be converted into a datetime object'); } return $formatted; } }