gpt4 book ai didi

C# 将日期转换为 double

转载 作者:行者123 更新时间:2023-12-02 04:33:34 26 4
gpt4 key购买 nike

我用 VBA 编写了一个函数,它根据文件的属性创建代码。我需要开发人员在 C# 中做同样的事情。

开发人员表示不可能在 C# 中执行相同的操作。

因此,在 VBA 中,我的部分过程是将日期转换为 double 型。 VBA 执行此操作的方式基本上是计算给定日期与 1900 年 1 月 1 日之间的天数。因此,2014 年 3 月 19 日将是 double 值 41,717。

如何用 C#(不是我熟悉的语言)编写一个函数来将日期数据类型转换为自 1900 年 1 月 1 日以来经过的天数?

如有任何帮助,我们将不胜感激。

最佳答案

减去两个 DateTime 得到一个 TimeSpan。您只需使用 TimeSpan.TotalDays 即可获取两个日期之间的天数:

double days = (DateTime.Today - new DateTime(1900,1,1)).TotalDays;

如果 DateTime 有时间部分,它将表示为一天的分数,例如:

 // current date and time (16:24:15)
(new DateTime(2014, 3, 18, 16, 24, 15) - new DateTime(1900,1,1)).TotalDays

会给你41714.6835069444

请注意,结果与在 VBA 中使用 CDbl() 的结果有 2 天的差异,因为 VBA 中的日期是用自 1899 年 12 月 30 日以来的天数表示的,而不是 1900 年 1 月 1 日以来的天数.

关于C# 将日期转换为 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22490169/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com