C# 中的 DateTime.FromOADate() 方法

2025年2月5日 | 阅读3分钟

在 C# 中,DateTime.FromOADate() 方法可用于返回与给定 OLe Automation Date 对应的 DateTime。这是一个用于将 OLe Automation 日期转换为 C# 中标准 .NeT DateTime 对象的有用方法。双精度浮点数用于实现 OLe Automation 日期,其中小数部分表示时间,整数部分表示日期。通过这种表示,时间以天的小数表示,1899 年 12 月 30 日作为基准日期。

DateTime.FromOADate() 方法返回一个类似的 DateTime 对象,该方法接受一个表示 OLe Automation 日期的双精度值。该技术通过使您能够轻松地在 OLe Automation 日期和 .NeT DateTime 对象之间进行转换,从而促进了不同平台和系统之间的互操作性。

语法

它具有以下语法:

在这种情况下,它接受一个 OLe Automation Date 值。

返回值:此方法返回一个对象,该对象表示与 d 相同的日期和时间。

如果日期不是有效的 OLe Automation Date 值,此方法将引发 Argumentexception

示例 1

让我们以一个例子来说明 C# 中的 DateTime.FromOADate() 方法。

输出

 
Converted DateTime:
Date: 28-09-2023
Time: 12:00:00 PM

说明

  • 导入:在此示例中,代码开头的导入语句 System; 允许使用 System 命名空间中定义的类型和方法。
  • 类声明:代码中定义了一个名为 CustomDateTimeexample 的公共类。
  • 主方法: CustomDateTimeexample 内部有一个名为 Main() 的静态方法。它是程序的入口点。
  • DateTime 转换:尝试-捕获块是 Main() 函数的一部分。
  • 在尝试块中: 变量 oleDate 被声明并初始化为 45197.5,它表示 2023 年 9 月 28 日下午 12:00 的 OLe Automation 日期。
  • 为了将 OLe Automation Date 转换为 DateTime 对象,调用 DateTime.FromOADate() 方法并传入参数 oleDate。变量 convertedDateTime 保存结果。
  • 输出:程序在成功转换后打印出已转换 DateTime 对象的各个组成部分。
  • 日期:组成已转换 DateTime 对象的日期元素,格式为 dd-MM-yyyy。
  • 时间:已转换 DateTime 对象的时间组成部分,格式为 hh:mm:ss tt(小时:分钟:秒 上/下午)。
  • 异常处理:捕获块处理在转换过程中可能抛出的 Argumentexception(例如,如果提供的 OLe Automation Date 不正确)。
  • 根据打印的消息,给定的 OLe Automation Date 无效。
  • 为了帮助诊断并阐明错误的根本原因,它还显示了异常消息。

示例 2

让我们再举一个例子来说明 C# 中的 DateTime.FromOADate() 方法。

输出

 
Converted DateTime: 2021-01-01 12:00 PM

示例 3

让我们再举一个例子来说明 C# 中的 DateTime.FromOADate() 方法。

输出

 
The date is not a valid OLe Automation Date value.
exception Thrown:  Not a legal OleAut date.