我想知道在C#中执行此操作的方法
假设我有2个时间跨度:TS1为3h,TS2为12h。
计算TS1在TS2内的次数的最快方法是什么? 在这种情况下,输出将为4。
如果TS1为8天且TS2为32天,它也将返回4。
答案 0 :(得分:8)
整数分裂?
(int) TS1.TotalMilliseconds/(int) TS2.TotalMilliseconds;
答案 1 :(得分:8)
是的,使用整数除法。但是魔鬼在细节中,一定要使用TimeSpan的整体属性来避免溢出和舍入问题:
int periods = (int)(TS1.Ticks / TS2.Ticks);
答案 2 :(得分:4)
您可以将TotalMilliseconds
从一个分开。那就是:
double times = TS2.TotalMilliseconds / TS1.TotalMilliseconds
答案 3 :(得分:2)
int count =(int)(ts2.TotalSeconds / ts1.TotalSeconds);