Если вы хотите обнаружить, что пользователь ввел неправильное значение, попробуйте это
string[] formats = { "dd/MM/yyyy", "dd/M/yyyy", "d/M/yyyy", "d/MM/yyyy","dd/MM/yy", "dd/M/yy", "d/M/yy", "d/MM/yy"};
if (DateTime.TryParseExact(date, formats, System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out DateTime DOB))
{
// DOB variable is ready to use
Label1.Text = DOB.ToShortDateString();
} else {
//error handling goes here
Label1.Text = "ERROR: Invalid value";
}
DOB.ToShortDateString () преобразует обратно в строку.