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", "ToNullableDateTimeOrDefault");
Console.WriteLine(format, "------", "---------------------------");
Console.WriteLine(format, val1, val1.ToNullableDateTimeOrDefault());
Console.WriteLine(format, val2, val2.ToNullableDateTimeOrDefault());
Console.WriteLine(format, "null", thisNull.ToNullableDateTimeOrDefault());
Console.WriteLine(format, thisInvalid, thisInvalid.ToNullableDateTimeOrDefault());
Console.WriteLine(format, thisInvalid, thisInvalid.ToNullableDateTimeOrDefault(defaultVal));
Console.WriteLine(format, thisInvalid, thisInvalid.ToNullableDateTimeOrDefault(() => defaultVal));