Details

Parse String to DateTime

Handling dates as string is easy, but we still need that DateTime

Use this static DateHelper method to convert string to DateTime

public static DateTime? ParseDate(string input)
{
   // Define common date formats
   var dateFormats = new[]
   {
       "MM/dd/yyyy",
       "dd-MM-yyyy",
       "yyyy-MM-dd",
       "MM.dd.yyyy",
       "yyyy.MM.dd",
       "dd/MM/yyyy"
   };
   // Try parsing with any of the specified formats
   if (DateTime.TryParseExact(input,
                              dateFormats,
                              CultureInfo.InvariantCulture,
                              DateTimeStyles.None,
                              out DateTime parsedDate))
   {
       return parsedDate;
   }
   // Return null if parsing failed
   return null;
}

Don't forget to cast the parsed date to DateTime

var parsedDate = DateHelper.ParseDate(input);
// Perform checkā€¦
user.DateOfBirth = (DateTime)parsedDate;

Unless what you need is a nullable DateTime?.