Я хочу проверить правильность формата даты. Существует много возможностей правильных дат, таких как:
- 02.08.2010
- 2.8.2010
- 02.8.2010 02.08
- 02.August
- ...
Я могу проверить каждый с помощью кода, подобного этому:
if (DateTime.TryParse(DateTime.ParseExact(date, "dd.M.",
new CultureInfo("sl-SI")).ToString(), out dt))
Но тогда у меня может быть 40 операторов if. Можно ли проверить все даты одним оператором if или одним циклом?
Обновление:
Судя по ответам, я тестирую этот код, но у меня есть еще одна проблема. Что если у меня только 9.2, а не 9.2.2010, тогда этот код не будет работать:
CultureInfo ci = CultureInfo.GetCultureInfo("sl-SI");
string[] fmts = ci.DateTimeFormat.GetAllDateTimePatterns();
if (DateTime.TryParseExact(date, fmts, ci, DateTimeStyles.AssumeLocal, out dt))
{
DateTime = Convert.ToDateTime(date);
Check = true;
}
Должен ли я добавить это время вручную или что я могу сделать?