2010-03-05 7 views
0

je veux convertir cette chaîne en DateTime.chaîne de conversion à DateTime en C#

Tue Aug 19 15:05:05 +0000 2008 

J'ai essayé le code suivant, mais je n'ai pas obtenu la bonne valeur.

string strDate = "Tue Aug 19 15:05:05 +0000 2008"; 
DateTime date; 
DateTime.Parse(strDate,out date); 
+0

Quelle est la valeur que vous obtenez? – bzlm

+0

duplication possible de [Convertir la chaîne en DateTime en C#] (http://stackoverflow.com/questions/1592653/convert-string-to-datetime-in-c-sharp) – Default

Répondre

10
DateTime date = DateTime.ParseExact(
    "Tue Aug 19 15:05:05 +0000 2008", 
    "ddd MMM dd HH:mm:ss zzz yyyy", 
    CultureInfo.InvariantCulture 
); 

Pour plus d'utilisez la méthode de sécurité TryParseExact:

string str = "Tue Aug 19 15:05:05 +0000 2008"; 
string format = "ddd MMM dd HH:mm:ss zzz yyyy"; 
DateTime date; 
if (DateTime.TryParseExact(str, format, CultureInfo.InvariantCulture, 
    DateTimeStyles.None, out date)) 
{ 
    Console.WriteLine(date.ToString()); 
} 
+0

Bien formaté pour montrer la corrélation entre les données réelles et la chaîne d'information de date et heure. – btlog

+0

ça m'a beaucoup aidé. Merci mec. – developer

+0

Que signifie «zzz»? –

6

Jetez un oeil à DateTime.Parse et DateTime.ParseExact.

+0

@Mark Je le faisais déjà mais je ne recevais pas les bonnes valeurs. – developer

+0

@Mark thats pourquoi j'ai posté la question sur SO – developer

+0

Oui, j'ai manqué cela quand j'ai d'abord regardé votre question, c'est pourquoi j'ai édité ma réponse pour inclure 'ParseExact'-mais la réponse de Darin est beaucoup plus compréhensive de toute façon. –