2010-03-05 4 views
0

Я хочу преобразовать эту строку в DateTime.преобразовать строку в DateTime в C#

Tue Aug 19 15:05:05 +0000 2008 

Я пробовал следующий код, но не получил правильное значение.

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

Какое значение вы получаете? – bzlm

+0

Возможный дубликат [Преобразование строки в DateTime в C#] (http://stackoverflow.com/questions/1592653/convert-string-to-datetime-in-c-sharp) – Default

ответ

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

Для дополнительной безопасности использования 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

Красиво отформатирован, чтобы показать корреляцию между фактическими данными и строкой информации о дате. – btlog

+0

это помогло мне много. Спасибо приятель. – developer

+0

Что означает 'zzz'? –

6

Посмотрите на DateTime.Parse и DateTime.ParseExact.

+0

@Mark Я уже делал это, но не получал правильные значения. – developer

+0

@Mark thats, почему я разместил вопрос на SO – developer

+0

Да, я пропустил это, когда впервые посмотрел на ваш вопрос, поэтому я отредактировал свой ответ, чтобы включить 'ParseExact', но ответ Дарина намного более всеобъемлющий. –

Смежные вопросы