using System.Globalization;
public static void Main()
CultureInfo enUS = new CultureInfo("en-US");
string[] formats = {"MM/dd/yy","MM/dd/yyyy", "MM/dd/yyyy hh:mm:ss","MM/dd/yy hh:mm:ss",
"MM/dd/yyyy hh:mm:ss", "M/d/yyyy h:mm:ss",
"M/d/yyyy hh:mm tt", "M/d/yyyy hh tt",
"M/d/yyyy h:mm", "M/d/yyyy h:mm",
"MM/dd/yyyy hh:mm", "M/dd/yyyy hh:mm" };
foreach (Person person in People)
foreach (string dateFormat in formats)
if (DateTime.TryParseExact(person.Birthday, dateFormat, enUS, DateTimeStyles.None, out dateValue))
Console.WriteLine(dateValue.DayOfWeek + "," + dateValue.ToString("MMMM", enUS) + " " + dateValue.Day + ", " + dateValue.Year);
static Person[] People = new Person[]{
new Person{ FirstName="Andy", Birthday="11/26/80" },
new Person{ FirstName="Arron", Birthday="08/09/90" },
new Person{ FirstName="David", Birthday="12/29/1989" },
new Person{ FirstName="Stacey", Birthday="11/01/82 12:35:00" },
new Person{ FirstName="Tom", Birthday=null }
public string FirstName{get;set;}
public string Birthday{get;set;}