using System; using System.Linq; using System.Collections.Generic; using System.Globalization; public class Test { public static void Main() { string[] dateStrings = new[] { "Friday 31 August 2012", "26-Jul-2012", "190811"}; DateTime date = DateTime.MinValue; string[] formats = new[] { "dddd dd MMMM yyyy", "dd-MMM-yyyy", "ddMMyy" }; IEnumerable dates = dateStrings .Where(ds => DateTime.TryParseExact(ds , formats , CultureInfo.InvariantCulture , DateTimeStyles.None , out date)) .Select(ds => date); foreach(DateTime d in dates) Console.WriteLine(d.ToString()); } }