有人知道这意味着什么吗。在C# winforms应用程序中实现这一点:
不是合法的OleAut日期
发布于 2008-11-22 15:49:18
这意味着程序中的某个地方正试图将OLE自动化日期转换到或从有效范围以外的OLE自动化日期(公元前1-4713年)到公元31-999年12月31日。这可能是因为OLE自动化日期表示为一个双。
首先,寻找这些方法的任何用途:
DateTime.FromOADate
DateTime.ToOADate
发布于 2008-11-22 15:50:30
OADate表示为双值,其值为1899年12月30日午夜起的天数(负值代表较早的日期)。
当试图将一个位于Ole自动化有效日期范围之外的值转换为/从一个.NET DateTime值(方法DateTime.FromOADate和DateTime.ToOADate -这些方法也被隐式地用于COM Interop)时,将引发此异常。
我认为转换为OADate是有效的,.NET DateTime值必须严格大于01/01/0100。
要从OADate转换为.NET DateTime值,双值必须严格大于-657435 (= 01/01/0100)和严格小于2958466.0 (01/01/10000)。
发布于 2008-11-22 01:47:07
这意味着您在某个地方提供了一个无效的日期,试图转换到或从一个OLE自动化日期以外的有效范围1-1月-4713公元前31-12月-公元999年。一个可能的原因是,它可能已经通过,因为OLE自动化日期表示为双。
https://stackoverflow.com/questions/310700
复制相似问题