我使用OpenXML来读取和优秀的电子表格,日期存储为数字。据我所知,这是一种朱利安格式,我google的每个地方都说使用ToOADate();将这些数字转换为日期。
我遇到的问题是ToOADate();在我的编译中没有解决。我正在使用Visual Basic 2013,C#Asp.net MVC应用程序。
看起来这是在系统命名空间中,但我已经有了一个使用系统语句。
我显然缺少一些非常基本的东西 - 有人可以帮忙吗?
var test = 41725;
DateTime test2 = test.ToOADate();
我得到的编译错误是
错误4'int'不包含'ToOADate'的定义,也没有扩展方法'ToOADate'接受类型'int'的第一个参数(你是否缺少using指令或汇编引用?)< / p>
答案 0 :(得分:3)
如果要将数字转换为Framework DateTime实例,则很可能是在DateTime结构上的 static 方法之后。
DateTime dt = DateTime.FromOADate(23456);
此方法需要限定为DateTime。在我的例子中,结果是1963年3月20日。
DateTime上还有一个实例方法可以反向...
double d = dt.ToOADate();
本案的结果是23456.
您的代码表明您尝试将其称为 int 上的实例方法,但这不起作用。编译器告诉你int原语上没有这样的方法。
尝试改为......
var test = 41725;
DateTime test2 = DateTime.FromOADate(test);
你将在2014年3月27日到达。