2010-02-02 5 views
5

Je suis en train d'analyser une date en C# et ont la ligne de code suivantechaîne n'a pas été reconnu comme valide DateTime ParseExact

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

quand je debug DateSelected arrive en tant que « 16 Tue Feb 12:36 : 41 CST 2010 "mais je reçois une expection disant" Chaîne n'a pas été reconnu comme un DateTime valide. "

+0

Qu'est-ce que la "culture"? Ça devrait être une culture anglophone. –

+0

"Anglais (Royaume-Uni)" – Deathbat

Répondre

7

Après this previous question, les abréviations de zone ne sont pas reconnues. Essayez ceci:

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")); 

Ce lien peut aussi être utile:

+0

Cela pourrait être assez propre, s'il y avait une liste complète de timezeones. –

+0

juste mis à jour cette réponse avec cette liste –

+0

fonctionne comme un charme maintenant merci pour l'aide – Deathbat