public static void Main()
object[] values = { 16352, null, "monthly", "05/01/1996", "Tue Apr 28, 2009", "06 July 2008 7:32:47 AM",
new DateTime(2009, 3, 10), "17:32:47.003" };
foreach (object value in values)
DateTime? convertedDate = value.ToNullableDateTime();
Console.WriteLine("'{0}' converts to {1}.", value == null ? "null" : value, convertedDate == null ? "null" : convertedDate.ToString());
Console.WriteLine("'{0}' is not in the proper format.", value);
catch (InvalidCastException)
Console.WriteLine("Conversion of the {0} '{1}' is not supported",
value.GetType().Name, value);