public static void Main()
object val1 = "06 July 2008 7:32:47 AM";
object val2 = "17:32:47.003";
object thisInvalid = "FizzBuzz";
DateTime defaultVal = "1/1/2000 12:00:00 AM".ToDateTime();
string format = "{0, -30} {1, -15}";
Console.WriteLine(format, "Object", "ToDateTimeOrDefault");
Console.WriteLine(format, "------", "-------------------");
Console.WriteLine(format, val1, val1.ToDateTimeOrDefault());
Console.WriteLine(format, val2, val2.ToDateTimeOrDefault());
Console.WriteLine(format, thisInvalid, thisInvalid.ToDateTimeOrDefault());
Console.WriteLine(format, thisInvalid, thisInvalid.ToDateTimeOrDefault(defaultVal));
Console.WriteLine(format, thisInvalid, thisInvalid.ToDateTimeOrDefault(() => defaultVal));