2010-02-02 15 views
5

Estoy tratando de analizar una fecha en C# y tienen la siguiente línea de códigocadena no fue reconocido como válido DateTime ParseExact

DateTime.ParseExact(DateSelected, "ddd MMM dd HH:mm:ss zzz yyyy", Culture) 

cuando elimino errores DateSelected está llegando como "Mar Feb 16 de 12:36 : 41 CST 2010 "pero me sale una expection que dice" String no fue reconocido como un DateTime válido ".

+0

¿Qué es "cultura"? Debe ser una cultura de habla inglesa. –

+0

"English (United Kingdom)" – Deathbat

Respuesta

7

Según this previous question, las abreviaturas de zona no se reconocen. Prueba esto:

DateTime parsed = DateTime.ParseExact(
    "Tue Feb 16 12:36:41 CST 2010".Replace("CST", "+02:00"), 
    "ddd MMM dd HH:mm:ss zzz yyyy", 
    new CultureInfo("en-GB")); 

Estos links también pueden ser útiles:

+0

Esto podría ser bastante limpio, si hubiera una lista completa de timezeones. –

+0

acaba de actualizar esta respuesta con esa lista –

+0

funciona como un encanto ahora gracias a la ayuda – Deathbat

Cuestiones relacionadas