ToOADate();转换儒略日期Excel

本文关键字:日期 Excel 转换 ToOADate | 更新日期: 2023-09-27 18:00:39

我使用OpenXML读取excel电子表格,日期存储为数字。据我所知,这是一种julian格式,我在谷歌上搜索的每个地方都说要使用ToOADate();将这些数字转换为日期。

我遇到的问题是ToOADate();在我的编译中未解析。我使用的是Visual Basic 2013,C#Asp.net MVC应用程序。

它似乎在系统命名空间中,但我已经有了一个using System语句。

我显然错过了一些非常基本的东西——有人能帮忙吗?

 var test = 41725;
DateTime test2 = test.ToOADate();

我得到的编译错误是

错误4"int"不包含"ToOADate"的定义,并且找不到接受"int"类型的第一个参数的扩展方法"ToOADate"(是否缺少using指令或程序集引用?)

ToOADate();转换儒略日期Excel

如果要将数字转换为Framework DateTime实例,则很可能是在DateTime结构上的静态方法之后。

        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日。