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