C#app中异常的含义:"不是合法的OleAut日期"?

leo*_*ora 17 c# datetime winforms

有谁知道这意味着什么.在C#winforms应用程序中获取此信息:

不是合法的OleAut日期

xyz*_*xyz 21

这意味着程序中的某个位置正在尝试在公元前1 - 1月 - 公元前4713年到公元9月31日 - 9999之间的有效范围之外转换为OLE自动化日期.它可能已经滑落,因为OLE自动化日期表示为双精度数.

首先寻找方法的任何用途:

DateTime.FromOADate

DateTime.ToOADate


Joe*_*Joe 14

OADate表示为双值,其值是1899年12月30日午夜的天数(负值表示较早的日期).

尝试将Ole Automation日期的有效范围之外的值转换为.NET DateTime值时(方法DateTime.FromOADate和DateTime.ToOADate - 它们也隐式用于COM Interop),抛出此异常.

我认为有效转换为OADate .NET DateTime值必须严格大于01/01/0100.

要将OADa​​te转换为.NET DateTime值,double值必须严格大于-657435(= 01/01/0100)且严格小于2958466.0(01/01/10000).