簡體   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