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.