我有一个生成时间跨度的代码来计算某些操作的持续时间。 我想做的是取结果(持续时间)并将其除以一个数字,任意数字。
我该怎么做?
答案 0 :(得分:30)
您可以使用原始时间跨度的刻度:
var res = new TimeSpan(origSpan.Ticks / aNumberAnyNumber);
答案 1 :(得分:8)
使用Total*
的{{1}}属性之一作为数字。
即。如果您正在运行您测量的某些代码的五次迭代,那么您可以使用
TimeSpan
获取每次迭代的平均毫秒数。您可以使用myTimeSpan.TotalMilliseconds / 5
获取基础值,并从分割结果中构建新的Ticks
。
答案 2 :(得分:7)
答案 3 :(得分:7)
TimeSpan ts = ...
TimeSpan result = TimeSpan.FromTicks(ts.Ticks / divisor);
答案 4 :(得分:3)
如果你想得到一个新旧的TimeSpan:
TimeSpan now = DateTime.Now.TimeOfDay;
TimeSpan halfOfNow = new TimeSpan(now.Ticks / 2);
答案 5 :(得分:0)
取决于你想要分割什么,但是假设你想要秒,你可以使用totalseconds属性。
TimeSpan ts = new TimeSpan(4, 0, 0); //Four hours
MessageBox.Show((ts.TotalSeconds / 4).ToString());
答案 6 :(得分:0)
自.NET Standard 2.1开始,TimeSpan
支持分区。
用法示例:
TimeSpan timeSpan = ...
int divisor = ...
TimeSpan result = timeSpan / divisor;