Вы можете только проанализировать (с помощью Parse или ParseExact) то, что вы можете создать при форматировании DateTime.
Ближайший спецификатор пользовательского формата к вашему примеру ввода, вероятно, выглядит примерно так:
ддд, дд МММ гггг ЧЧ ':' мм ':' ss zzz
Код:
CultureInfo culture = new CultureInfo("fr-CA", true);
var f = new DateTimeOffset(2010, 04, 20, 09, 00, 00, TimeSpan.FromHours(-5))
.ToString("ddd, dd MMM yyyy HH':'mm':'ss zzz", culture);
Это дает следующий результат:
"mar., 20 avr. 2010 09:00:00 -05:00"
Как видите, спецификатор короткого дня и короткого месяца (ddd
и MMM
) добавляет .
после имени, а спецификатор часового пояса (zzz
) вставляет :
.
Полагаю, что ToString невозможно заставить сгенерировать желаемый результат и, следовательно, не анализировать результат с ParseExact. Я полагаю, что вам нужно разобрать строку самостоятельно, используя обычные манипуляции со строкой.