从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值

DateTime支持日期从1753年1月1日到9999年12月31日

DateTime2支持日期0001年01月01日到9999年12月31日


Convert.ToDateTime 方法 (String)

将日期和时间的指定字符串表示形式转换为等效的          日期和时间值。

如果value不是null,返回的值是调用的结果DateTime.Parse方法value使用中的格式设置信息DateTimeFormatInfo初始化为当前区域性的对象。value参数必须包含的表示形式的日期和时间以一种格式中所述DateTimeFormatInfo主题。如果 value 为 null,则此方法返回DateTime.MinValue。

此方法尝试将分析value完全并避免引发FormatException。它会完成缺少的月、 日和年信息与当前日期。如果value包含仅日期而没有时间,此方法采用的时间为午夜。所有前导、 内部或尾部中的空白字符value将被忽略。

如果您不想处理的异常,如果转换失败,则可以调用DateTime.TryParse方法相反。它将返回Boolean值,该值指示转换是成功还是失败。

DateTime.Parse 方法 (String)

将日期和时间的指定字符串表示转换成其等效的                DateTime

public static DateTime Parse (
	string s
)

异常

异常类型 条件

ArgumentNullException

s 为 空引用(在 Visual Basic 中为 Nothing)。

FormatException

s 中不包含有效的日期和时间的字符串表示。

备注

使用针对当前区域性初始化的 DateTimeFormatInfo 中的格式设置信息来分析字符串 s

此方法尝试完全分析 s 并避免引发 FormatException。如有可能,它将忽略未被识别的数据,并用当前时间填充缺少的年月日信息。如果 s 只包含日期而没有时间,则此方法假定时间为午夜 12:00。s 中的所有前导、内部或尾随的空白字符均会被忽略。日期和时间可以用前导和尾随数字标记字符对 ('#', U+0023) 括起来,还可以尾随一个或多个 NULL 字符 (U+0000)。

s 参数中所包含的日期和时间必须以 DateTimeFormatInfo 主题中描述的格式之一来表示。

class Program
    {
        static void Main(string[] args)
        {
            try
            {
                string s = "";
                DateTime dt = DateTime.Parse(s);
                Console.WriteLine(dt);
            }
            catch (Exception er)
            {
                string erMessage = er.Message;
                Console.WriteLine(erMessage);
            }
        }
    }




















































你可能感兴趣的:(从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值)