我在TimeSpan
中有一个值,假设:tsp1
= 2小时5分钟。
我有另一个TimeSpan
变量,其中包含的值如下:tsp2
= 0小时2分钟
请告诉我如何将tsp1
除以tsp2
,以便我可以获得tsp2
分成tsp1
的确切次数以及其余部分。< / p>
我正在使用Visual Studio 2008。
感谢。
答案 0 :(得分:43)
最简单的方法可能就是把它们用在刻度线上,并将它们分开。例如:
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);
答案 1 :(得分:6)
一个div b:
double adivb = (double)a.Ticks/b.Ticks;
<强>编辑:强>
我发现了同一主题的另一篇文章
How can I achieve a modulus operation with System.TimeSpan values, without looping?
答案 2 :(得分:2)
一个int
将保持足够的秒数〜64年,所以只要你保持低于该值:
int count = (int) (tsp1.t.TotalSeconds / tsp2.t.TotalSeconds);
double remainder = tsp1.t.TotalSeconds - (count * tsp2.t.TotalSeconds);
也许可以将余数转换为int。