datetime.parse y hacerlo funcionar con un formato específico


141

Tengo una fecha y hora que regresa de un archivo XML en el formato:

20080916 11:02

como en

aaaamm hh: ss

¿Cómo puedo obtener la función datetime.parse para retomar esto? ¿Lo analizo sin errores? Salud

Respuestas:


246
DateTime.ParseExact(input,"yyyyMMdd HH:mm",null);

suponiendo que quisieras decir que los minutos siguieron a las horas, no los segundos, tu ejemplo es un poco confuso.

La documentación de ParseExact detalla otras sobrecargas, en caso de que desee que el análisis se convierta automáticamente a Universal Time o algo así.

Como menciona @ Joel Coehoorn , también existe la opción de usar TryParseExact , que devolverá un valor booleano que indica el éxito o el fracaso de la operación; todavía estoy en .Net 1.1, por lo que a menudo olvido este.

Si necesita analizar otros formatos, puede consultar las cadenas de formato estándar de fecha y hora .


11
No olvides DateTime. TryParseExact ()
— Joel Coehoorn

Además: Xml estándar tiene su propio formato de fecha y hora muy específico, y las herramientas .Net Xml deberían poder leerlo.
— Joel Coehoorn

En este caso, funciona bien con el último parámetro como nulo, pero para cualquiera que encuentre este CultureInfo.InvariantCulture, de lo contrario, puede tener problemas si su fecha y hora es algo así como "1823/01/01".
— Todilo

@JoelCoehoorn standard XML specific DateTime format?
— Kiquenet

10

Gracias por el consejo, usé esto para analizar mi fecha "20071122", necesitaba agregar estilos de fecha, no usé ninguno y funcionó:

DateTime dt = DateTime.MinValue;

DateTime.TryParseExact("20071122", "yyyyMMdd", null,System.Globalization.DateTimeStyles.None, out dt);
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.