Pregunta ¿Alguna diferencia entre DateTime.Parse y Convert.ToDateTime?


¿Hay alguna diferencia entre

Convert.ToDateTime

y

DateTime.Parse

¿Cuál es más rápido o cuál es más seguro de usar?


32
2017-11-19 07:09


origen


Respuestas:


Por un respuesta en otro foro de Jon Skeet...

Convert.ToDateTime utiliza DateTime.Parse internamente, con el actual   cultura - a menos que la pase nula, en cuyo caso regresa   DateTime.MinValue.

Si no está seguro de que la cadena sea un DateTime válido, no use ninguno y, en su lugar, use DateTime.TryParse ()

Si está seguro de que la cadena es un DateTime válido y conoce el formato, también podría considerar los métodos DateTime.ParseExact () o DateTime.TryParseExact ().


26
2017-11-19 07:16



DateTime.Parse tiene una sobrecarga que toma solo una String y nada más y usa la corriente Locale información sin que tengas que pasarla.


2
2018-04-10 11:29



Las sobrecargas de Convert.ToDateTime que toman la cadena como parámetro de entrada, internamente invocado DateTime.Parse. A continuación está la implementación de Convert.ToDateTime.

public static DateTime ToDateTime(string value)
{
    if (value == null)
    {
        return new DateTime(0L);
    }
    return DateTime.Parse(value, CultureInfo.CurrentCulture);
}

En caso de otra sobrecarga, el parámetro se transfiere a la interfaz IConvertible y luego se invoca el método ToDateTime correspondiente.

public static DateTime ToDateTime(ushort value)
{
    return ((IConvertible) value).ToDateTime(null);
}

1
2017-11-19 07:25