2014-01-22 4 views
-1

Как получить DateTime из строки: (я не знаю, какой формат он)Преобразовать строку в DateTime

Wed Jan 08 2014 00:00:00 GMT+0100 (Central Europe Standard Time) 

Для DateTime?

+1

-1 потому что не много усилий пошло на поиск ответа до публикации на SO –

+0

У StackOverflow есть замечательная функция: Поиск. Используй это! –

+0

@ Dineshkumar Я отбросил ваши изменения. Пожалуйста, не редактируйте «Возможный дубликат» в теле сообщения. Спасибо. –

ответ

2

Использование DateTime.TryParseExact для анализа строки в DateTime Объект.

Вы можете передать формат, в соответствии с которым требуется разбор. Как и в вашем случае вы бы использовали

string dateString = "Wed Jan 08 2014 00:00:00 GMT+0100"; 
dateString = dateString.Replace("GMT+0100", "+01:00"); // to remove the timezone abbreviation and replace with offset value. 

string format = "ddd MMM dd yyyy HH:mm:ss zzz"; 
DateTime dt; 
DateTime.TryParseExact(dateString, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt); 
0

Если вы не знаете, в каком формате это, то как вы можете его разобрать? Как вы узнаете, означает ли дата 2014-01-02 1 февраля или 2 января?

Вы можете использовать несколько TryParseExact, просто чтобы исключить даты, которые определенно не могут быть (2014-13-12 может быть только 13 декабря), но вы по-прежнему остаетесь с теми строками, которые могут быть проанализированы и действителен для двух дат.

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