DateTime
структура не хранит информацию о часовом поясе.Он просто имеет значения даты и времени, которые основаны на длинных именах Ticks
.Вот почему нет пользовательской строки формата даты и времени , которая соответствует этому сокращению.Спецификатор формата zzz
предназначен для смещения часового пояса локальной операционной системы от UTC со знаком, и он не имеет смысл использовать его с синтаксическим анализом DateTime
, как указано в документации.,
Если вы хотите разобрать аббревиатуру в вашей строке, вы должны экранировать ее как строковый литерал.Кроме этого, нет способа разобрать его.С другой стороны, сокращения часовых поясов даже не уникальны.Например, CST может означать центральное стандартное время, стандартное время Китая или стандартное время Кубы.
Также отсутствует спецификатор формата даты EEE
.Сокращенные названия дней совпадают с ddd
спецификатором формата .
string dt = "Wed Sep 05 00:00:00 EEST 2012";
string Fm = "ddd MMM dd HH:mm:ss 'EEST' yyyy";
DateTime dateTime = DateTime.ParseExact(dt, Fm, CultureInfo.InvariantCulture);
Console.WriteLine(dateTime.Date);
Здесь a demonstration
.