我一直在尝试很多方法来计算两个日期之间的总天数,我的意思是,计算整天.我需要的一个例子:
START DATE END DATE Day Count
24/02/2010 16:26 24/02/2010 16:26 1
20/02/2010 18:16 24/02/2010 16:26 5
31/12/2009 20:00 24/02/2010 16:26 56
15/07/2009 20:59 24/02/2010 16:26 225
Run Code Online (Sandbox Code Playgroud)
Jos*_*osh 64
可以减去DateTime以获得TimeSpan.TimeSpan有一个TotalDays,它是天数(包括小数天).
int DaysBetween(DateTime d1, DateTime d2) {
TimeSpan span = d2.Subtract(d1);
return (int)span.TotalDays;
}
Run Code Online (Sandbox Code Playgroud)
注意时间跨度已签名.如果d1 = 1/9/11且d2 = 1/11/11,则d1.subtract(d2)= -2天的时间跨度.因此,如果您想使用时间跨度来确定日期是否在彼此的X天内,您需要获取总天数的绝对值...
Math.Abs(span.TotalDays)
Run Code Online (Sandbox Code Playgroud)
cas*_*One 16
您可以在两个实例上使用减法运算符DateTime(或者DateTimeOffset,因为它具有相同的减法运算符,并且它是用于.NET中的日期值的推荐结构)来获取TimeSpan实例.
完成后,您可以调用该Days属性以获取TimeSpan代表的整天数.
如果您想要整数和分数天数,那么请查看该TotalDays属性.
在您的特定情况下,您似乎希望将1添加到Days属性返回的任何值,因为您的自定义计算表明对于DateTime表示相同值的两个实例,结果为1.
Mik*_*all 11
DateTime dtOne;
DateTime dtTwo;
// to get the total days in between
int answer = (dtTwo - dtOne).TotalDays
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
66914 次 |
| 最近记录: |