Разбор строки даты в С#

Я пытаюсь загрузить RSS-канал http://feeds.feedburner.com/foxnews/latest, но Я получаю ошибку синтаксического анализа даты и времени в функции SyndicationFeed.Load(), потому что она не может анализировать Tue, 17 June 2014 02:38:06 EDT какие-либо предложения?

Я уже использую эту пользовательскую программу чтения XML (http://brian-federici.com/blog/2012/9/21/exceptions-with-rss20feedformatterdatefromstring) для поддержки нескольких форматов, но по-прежнему не поддерживает этот формат.

Может ли кто-нибудь помочь мне, как разобрать этот объект Tue, 17 June 2014 02:38:06 EDT в объект DateTime на С#


person SOF User    schedule 17.06.2014    source источник
comment
Вы пробовали DateTime.Parse?   -  person bubbinator    schedule 18.06.2014
comment
@bubbinator это не работает. Я не думаю, что ему нравится встречаться дважды.   -  person Elias    schedule 18.06.2014
comment
@Elias Дата там дважды? Вы имеете в виду, что у него есть дата и время?   -  person bubbinator    schedule 18.06.2014
comment
почему этот вопрос помечен как дублированный .... где ответ?   -  person SOF User    schedule 18.06.2014
comment
Вы поняли это?   -  person crthompson    schedule 07.07.2014


Ответы (1)


Используйте ParseExact (обратите внимание на 24 часа "ЧЧ")

CultureInfo provider = CultureInfo.InvariantCulture;
var myDate = DateTime.ParseExact("Tue, 17 June 2014 02:38:06 EDT", 
                                 "ddd, dd MMMM yyyy HH:mm:ss EDT", 
                                 provider);

Коды форматов находятся здесь

Согласно предложению @Trisped, вот пользовательские форматы строк< /а>

РЕДАКТИРОВАТЬ: Не уверен, почему «R» не работал, но Custom работает нормально.

Скрипка

person crthompson    schedule 17.06.2014
comment
Я знал, что есть способ сделать это. Почему вы не добавили ссылку на пользовательские форматы? - person Trisped; 18.06.2014
comment
в вашем коде есть ошибка... Дополнительная информация: строка не была распознана как допустимая дата и время. - person SOF User; 18.06.2014
comment
Проблема в том, что хотя RFC 822/1123 поддерживает несколько сокращений часовых поясов, например EST или EDT - реализация .Net их вообще не поддерживает. Включая EDT в формат здесь, он просто обрабатывает его как текст и не настраивает для этого часового пояса. Смотрите ответ, который я связал с вопросом о дублировании. - person Matt Johnson-Pint; 18.06.2014
comment
@CmdrTallen, спасибо, надеюсь, вы найдете ответ полезным. - person crthompson; 17.10.2014