2

在 VB.NET 中,我想获取 Microsoft Excel 等文本中的日期

例如:在 MSExcel 中输入日期:01/01/2013 并将格式设置为文本,它会给出输出 41275

我怎样才能用 vb.net 做到这一点?

4

2 回答 2

2

您将需要DateTime.ToOADate方法。

Module Module1

    Sub Main()
        Dim dt As DateTime = DateTime.Parse("1/1/2013")
        Console.WriteLine(dt.ToOADate())
        Console.ReadLine()
    End Sub

End Module

从上面的链接:

OLE 自动化日期以浮点数形式实现,其整数部分是 1899 年 12 月 30 日午夜之前或之后的天数,其小数部分表示当天的时间除以 24。例如,12 月 31 日午夜1899用1.0表示;1900 年 1 月 1 日上午 6 点由 2.25 表示;1899 年 12 月 29 日午夜,用 -1.0 表示;1899 年 12 月 29 日上午 6 点用 -1.25 表示。

于 2013-01-03T06:31:34.157 回答
1

做一个日期差异

DateDiff(DateInterval.Day, Cdate("01/01/2013"),Cdate("01/01/1900"))-2
OUTPUT:
  -41275


DateDiff(DateInterval.Day, Cdate("01/01/1900"),Cdate("01/01/2013"))+2
OUTPUT:
  41275

参考现场演示

于 2013-01-03T06:10:55.310 回答