繁体   English   中英

C#在一个时间跨度内的时间跨度计数

[英]C# count of timespan within a timespan

我想知道在C#中做到这一点的方法

假设我有2个时间跨度:TS1为3h,TS2为12h。

计算TS1在TS2内可以进行多少次的最快方法是什么? 在这种情况下,输出将是4。

如果TS1是8天而TS2是32天,它也将返回4。

整数划分?

(int) TS1.TotalMilliseconds/(int) TS2.TotalMilliseconds;

是的,使用整数除法。 但是魔鬼在细节中,一定要使用TimeSpan的整体属性来避免溢出和舍入问题:

 int periods = (int)(TS1.Ticks / TS2.Ticks);

您可以将TotalMilliseconds除以一个。 那是:

double times = TS2.TotalMilliseconds / TS1.TotalMilliseconds

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM