У меня есть поле фильтра, которое позволяет выполнять поиск по частичной или полной дате, которую можно вводить в разных форматах, то есть в зависимости от того, как пользователь хочет ее ввести, поэтому TryParseExact не выглядит лучшим вариантом.
Проблема в том, что следующий код:
DateTime.TryParse(fromDate.Text, CultureInfo.InvariantCulture, DateTimeStyles.None, out dateFromValue)
анализирует все, кроме строк yyyy. Например. "05/1980" и "1980/05" распознаются как {05.01.1980 00:00}, но "1980" не работает.
Я подозреваю, что синтаксический анализатор не может различать, скажем, yyyy и ffff, когда все, что он получает, - это последовательность из 4 цифр, но мне все еще нужно, чтобы это работало. Возможно, есть более элегантный способ сделать это, чем
if(!DateTime.TryParse("1980", CultureInfo.InvariantCulture, DateTimeStyles.None, out date))
DateTime.TryParseExact("1980","yyyy",CultureInfo.InvariantCulture, DateTimeStyles.None, out date);
или я вообще не так делаю?
Заранее спасибо!