c# - válido - DateTime.ParseExact() no asimila valores de hora de 24 horas?
formato 24 horas c# (3)
Esta línea de código:
DateTime dt = DateTime.ParseExact(time, "hh:mm", CultureInfo.InvariantCulture);
analiza un valor de "tiempo" de "12:45" bien, pero lanza una excepción de "13:00"
¿Debo usar algún otro valor de CultureInfo, o debo agregar un "pm" a los valores de hora superiores a 12, o ...?
El mensaje de error es: System.FormatException no se manejó Mensaje = La cadena no se reconoció como un DateTime válido.
"hh" es el formato de reloj de 12 horas (01 a 12). Necesitas usar "HH" para un reloj de 24 horas.
DateTime dt = DateTime.ParseExact(time, "HH:mm", CultureInfo.InvariantCulture);
Aunque Hans ya respondió su pregunta en la sección de comentarios, Here hay un enlace de MSDN que describe todo tipo de formatos de fecha utilizados con el método DateTime.ParseExact
.
Prueba esto:
DateTime dt = DateTime.ParseExact(time, "u", CultureInfo.InvariantCulture);
"u"
indica un formato de ordenamiento universal.