C # подсчет временного интервала в пределах временного интервала - PullRequest
3 голосов
/ 19 сентября 2010

Я хотел бы знать, как сделать это в C #

Допустим, у меня есть 2 временных диапазона: TS1 - 3 часа, а TS2 - 12 часов.

Какой самый быстрый способ подсчитать, сколько раз TS1 может пройти в пределах TS2? В этом случае вывод будет 4.

если TS1 равен 8 дням, а TS2 - 32 дня, он также вернет 4.

Ответы [ 4 ]

8 голосов
/ 19 сентября 2010

Да, используйте целочисленное деление. Но дьявол кроется в деталях, обязательно используйте встроенное свойство TimeSpan, чтобы избежать проблем переполнения и округления:

 int periods = (int)(TS1.Ticks / TS2.Ticks);
8 голосов
/ 19 сентября 2010

Целочисленное деление?

(int) TS1.TotalMilliseconds/(int) TS2.TotalMilliseconds;
4 голосов
/ 19 сентября 2010

Вы можете разделить TotalMilliseconds друг от друга. То есть:

double times = TS2.TotalMilliseconds / TS1.TotalMilliseconds
2 голосов
/ 19 сентября 2010

int count = (int) (ts2.TotalSeconds / ts1.TotalSeconds);

...