在计算两个随机日期之间的天数时,timepan会考虑闰年吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在计算两个随机日期之间的天数时,timepan会考虑闰年吗?相关的知识,希望对你有一定的参考价值。

例如:

DateTime date1 = new DateTime(1955, 12, 12);
DateTime date2 = new DateTime(1967, 3, 6);
TimeSpan fff = date2 - date1;

它会正确计算天数吗? (考虑闰年)

答案

是的,它考虑到了这一点。

为了证明,请尝试:

DateTime date0 = new DateTime(2001, 12, 31);
DateTime date1 = new DateTime(2000, 12, 31);
DateTime date2 = new DateTime(1999, 12, 31);
Console.WriteLine("{0} / {1}", (date2 - date1).Days, (date1-date0).Days);

以上输出:-366 / -365

另一答案

我建议你的C#开发环境的一个很好的补充工具是下载Boo。 Boo是一种Pythonesque脚本语言,但可以完全访问.NET框架。我已经使用它作为快速尝试字符串格式,正则表达式和日期/时间字符串格式的帮助。这是我的Boo会话,我测试了你的问题:

C:\Documents and Settings\Paul>booish
Welcome to booish, an interpreter for the boo programming language.
Running boo 0.9.0.3203 in CLR v2.0.50727.3082.

Enter boo code in the prompt below (or type /help).
>>>dt1 = System.DateTime(2009,1,1)
1/1/2009 12:00:00 AM
>>>dt2 = System.DateTime(2008,1,1)
1/1/2008 12:00:00 AM
>>>dt3 = System.DateTime(2007,1,1)
1/1/2007 12:00:00 AM
>>>print dt1-dt2
366.00:00:00
>>>print dt2-dt3
365.00:00:00
>>>

您还可以将Boo脚本编译为DLL和EXE。

以上是关于在计算两个随机日期之间的天数时,timepan会考虑闰年吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何在VB中计算两个日期间的天数

C++ 计算两个日期之间的天数

c#如何计算两个日期之间相隔天数

在 Java 8 中计算两个日期之间的天数

如何写计算两个日期之间的天数函数

Excel中计算两个日期之间的天数,扣除周六周日