如何在时间跨度内进行划分
我在TimeSpan
有一个值,比方说: tsp1
= 2小时5分钟。 我有另一个TimeSpan
变量,其中包含如下值: tsp2
= 0小时2分钟
请告诉我如何将tsp1
除以tsp1
,以便我可以得到tsp2
分成tsp1
的确切次数以及余数是多少。
我正在使用Visual Studio 2008。
谢谢。
最简单的方法可能只是将它们的长度用于刻度,并将它们分开。 例如:
long ticks1 = tsp1.Ticks; long ticks2 = tsp2.Ticks; long remainder; long count = Math.DivRem(ticks1, ticks2, out remainder); TimeSpan remainderSpan = TimeSpan.FromTicks(remainder); Console.WriteLine("tsp1/tsp2 = {0}, remainder {1}", count, remainderSpan);
一个div b:
double adivb = (double)a.Ticks/b.Ticks;
编辑:
我找到了同一主题的另一篇文章
如何在不循环的情况下使用System.TimeSpan值实现模数运算?
一个int
将保持足够的秒数〜64年,所以只要你保持低于:
int count = (int) (tsp1.t.TotalSeconds / tsp2.t.TotalSeconds); double remainder = tsp1.t.TotalSeconds - (count * tsp2.t.TotalSeconds);
也许可以将余数转换为int。