Вам нужно использовать DateTime.ParseExact и передавать в произвольном формате.
Что-то вроде:
var parsed = DateTime.ParseExact("Wed, 13 Apr 2011 07:11:04 -0400 (EDT)",
"ddd, dd MMM yyyy HH:mm:ss zzz", null);
Примечание
Сокращения часовых поясов не поддерживаются, поскольку их нет официального обозначения, и они иногда неоднозначны.
Вы должны удалить это из входных данных, чтобы проанализировать выше. Вы можете посмотреть на это самостоятельно, если знаете, какие будут возможные значения.