有谁知道这意味着什么.在C#winforms应用程序中获取此信息:
不是合法的OleAut日期
xyz.. 21
这意味着程序中的某个位置正在尝试在公元前1 - 1月 - 公元前4713年到公元9月31日 - 9999之间的有效范围之外转换为OLE自动化日期.它可能已经滑落,因为OLE自动化日期表示为双精度数.
首先寻找方法的任何用途:
DateTime.FromOADate
DateTime.ToOADate
这意味着程序中的某个位置正在尝试在公元前1 - 1月 - 公元前4713年到公元9月31日 - 9999之间的有效范围之外转换为OLE自动化日期.它可能已经滑落,因为OLE自动化日期表示为双精度数.
首先寻找方法的任何用途:
DateTime.FromOADate
DateTime.ToOADate
OADate表示为双值,其值是1899年12月30日午夜的天数(负值表示较早的日期).
尝试将Ole Automation日期的有效范围之外的值转换为.NET DateTime值时(方法DateTime.FromOADate和DateTime.ToOADate - 它们也隐式用于COM Interop),抛出此异常.
我认为有效转换为OADate .NET DateTime值必须严格大于01/01/0100.
要将OADate转换为.NET DateTime值,double值必须严格大于-657435(= 01/01/0100)且严格小于2958466.0(01/01/10000).