Ответ 1
попробовать
TimeSpan X = ...;
var Result = X.TotalMilliseconds / WhatEverNumber;
Для справки см. MSDN.
У меня есть код, генерирующий временной интервал для вычисления продолжительности некоторого действия. То, что я хочу сделать, это принять этот результат (продолжительность) и разделить его на число, любое число.
Как я могу это сделать?
попробовать
TimeSpan X = ...;
var Result = X.TotalMilliseconds / WhatEverNumber;
Для справки см. MSDN.
Вы можете использовать тики исходного времени:
var res = new TimeSpan(origSpan.Ticks / aNumberAnyNumber);
Используйте один из Total*
свойств TimeSpan
, которые являются числами.
т.е. если вы используете пять итераций некоторого кода, который вы измеряете, вы можете использовать
myTimeSpan.TotalMilliseconds / 5
чтобы получить среднее число миллисекунд за итерацию. Вы можете использовать Ticks
, чтобы получить базовое значение и построить новый TimeSpan
из разделенного результата.
TimeSpan ts = ...
TimeSpan result = TimeSpan.FromTicks(ts.Ticks / divisor);
Если вы хотите получить новый TimeSpan, который является частью старого:
TimeSpan now = DateTime.Now.TimeOfDay;
TimeSpan halfOfNow = new TimeSpan(now.Ticks / 2);
Зависит от того, что вы хотите разделить, но пусть вам нужны секунды, вы можете использовать свойство totalseconds.
TimeSpan ts = new TimeSpan(4, 0, 0); //Four hours
MessageBox.Show((ts.TotalSeconds / 4).ToString());
Деление теперь поддерживается TimeSpan
с .NET Standard 2.1.
Пример использования:
TimeSpan timeSpan = ...
int divisor = ...
TimeSpan result = timeSpan / divisor;