关于c#:计算两个日期之间的时间跨度

Calculate how many timespans are between two dates

假设我有一个时间跨度变量,它是一个时间跨度,可以是任何东西,从秒到小时,天…(我需要能够以不同的方式设置)。

我想计算在两个给定的日期时间之间发生了多少次时间跨度(例如,假设我有一个1小时的时间跨度,这两个日期时间之间经过了多少小时)。但也可以是1小时半或3分钟……)。我希望这个值作为一个楼层整数返回(因此,如果3.4时间跨度已经过去,它应该返回3)。

最好的方法是什么?我对日期时间不太熟悉,我有点纠结于此:)

干杯!


TimeSpan归结为long Ticks属性;您可以简单地执行整数除法。

1
2
3
4
5
6
int x = 10 / 3; // equals 3

TimeSpan period = TimeSpan.FromSeconds(5);
TimeSpan difference = laterDateTime - earlierDateTime;

var periodFitsThisManyTimes = difference.Ticks / period.Ticks;