src/dDateTime.php
public static function parseIfValidate($v, ?string &$err = null)
    {
        $err = null;
        
        if (static::validate($v) === false) {
            $f = TryParse::toDateTime($v);
            if ($f === null) {
                $err = "error.st.unexpected.type";
            } else {
                $err = "error.st.value.out.of.range";
            }
        } else {
            $v = TryParse::toDateTime($v);
        }

        return $v;
    }
public static function parseIfValidate($v, ?string &$err = null)
    {
        $err = null;
        
        if (static::validate($v) === false) {
            $f = TryParse::toDateTime($v);
            if ($f === null) {
                $err = "error.st.unexpected.type";
            } else {
                $err = "error.st.value.out.of.range";
            }
        } else {
            $v = TryParse::toDateTime($v);
        }

        return $v;
    }
Efetuará a conversão do valor indicado para o tipo que esta classe
representa apenas se passar na validação.

Caso não passe retornará um código que identifica o erro ocorrido
na variável "$err".

@param       mixed $v
Valor que será convertido.

@param       ?string $err
Código do erro da validação.

@return      mixed