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;
    }
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
Efetuará a conversão do valor indicado para o tipo que esta classe representa apenas se passar na validação .