У меня есть TextBox, в котором пользователь может ввести дату. Я ожидаю только следующих форматов:
12.12.2017
12.02.2017
12.2.2017
02.12.2017
2.12.2017
02.02.2017
2.2.2017
Таким образом, может быть ведущий ноль или нет.
В настоящее время я разбираю DateTime со следующим кодом:
DateTime myDate = new DateTime();
bool success = DateTime.TryParseExact(TboDate.Text, "dd.MM.yyyy",
CultureInfo.CurrentUICulture, DateTimeStyles.None, out myDate);
Такие даты, как 12.2.2017
, не могут быть успешно проанализированы с помощью этого кода. Но я не хочу каждый раз проверять строку и затем анализировать ее с соответствующим форматом d.M.yyyy, dd.M.yyyy, d.MM.yyyy
и так далее. Есть ли более простой способ сообщить методу, что могут быть ведущие нули?
d.M.yyyy
будет обрабатывать ведущие нули. Если нет, используйте перегрузкуTryParseExact
, которая поддерживает несколько форматов. - person Jon Skeet   schedule 10.04.2017Parse
/TryParse
:DateTime.TryParse(dateStr, CultureInfo.CurrentUICulture, DateTimeStyles.None, out dt)
- person Tim Schmelter   schedule 10.04.2017