que estoy tratando de analizar lo siguiente String
en un objeto DateTime
en C#:DateTime.ParseExact no funciona en absoluto, ¿por qué?
DateTime.ParseExact("20101108 230125", "yyyyMMdd hhmmss", null)
aunque el valor parece correcto el método ParseExact
me sigue dando el siguiente:
cadena no fue reconocido como un DateTime válido.
¿Alguien puede decirme por qué y cómo puedo analizar la cadena anterior sin tener que hacerlo de forma manual? ¿No se supone que ParseExact
es para este tipo de ocasión?
¿Por qué esto causa una excepción? Personalmente, esperaría que hh convierta 23 en 11 en lugar de arrojar una excepción. ¿Es ParseExact que lo causa? –
@Marcus: 'ParseExact' hará lo que dice; analizar la cadena con el formato * exact * especificado. Dado que 'hh' le dice que espere un valor de tiempo de reloj de 12 horas en esa posición,' 23' claramente cae fuera del rango de valores aceptables. Analiza la cadena exacta, no se realizan conversiones. Entonces, sí, la excepción es lanzada por el método 'ParseExact'. –
Saludos por la explicación extendida. :) –