这个程序运行结果为1900/1/12 07:12:00
时间: 2023-08-08 11:12:56 浏览: 75
在 C# 中,如果您使用 DateTime.FromOADate 方法将 Double 类型的数字转换为 DateTime 类型,并且结果为 1900/1/12 07:12:00,那可能是因为该 Double 数字的来源不是通过 DateTime.ToOADate 方法生成的。
DateTime.ToOADate 方法将 DateTime 类型转换为 Double 类型,表示从 1899 年 12 月 30 日开始的天数和时间部分的小数。
以下是一个示例代码,展示了如何将 DateTime 类型转换为 Double 类型,并将其再转换回 DateTime 类型:
```csharp
using System;
class Program
{
static void Main()
{
DateTime dateTimeValue = new DateTime(2023, 7, 11, 13, 30, 0);
// 使用 DateTime.ToOADate 方法将 DateTime 类型转换为 Double 类型
double doubleValue = dateTimeValue.ToOADate();
Console.WriteLine(doubleValue); // 输出: 44426.5625
// 使用 DateTime.FromOADate 方法将 Double 类型转换为 DateTime 类型
DateTime convertedDateTime = DateTime.FromOADate(doubleValue);
Console.WriteLine(convertedDateTime.ToString("yyyy/M/d HH:mm:ss")); // 输出: 2023/7/11 13:30:00
}
}
```
在上面的示例中,我们首先创建一个 DateTime 对象 `dateTimeValue`,表示日期时间为 2023/7/11 13:30:00。然后,使用 `ToOADate` 方法将其转换为 Double 类型的 `doubleValue`。最后,使用 `FromOADate` 方法将 Double 类型的 `doubleValue` 转换回 DateTime 类型的 `convertedDateTime`。
请确保您的 Double 数字是通过 DateTime.ToOADate 方法生成的,以确保正确的转换结果。
希望这可以解决您的问题!如果您有更多问题,请随时提问。
阅读全文