寻找时间百分比的有效方法
本文关键字:有效 方法 百分比 时间 寻找 | 更新日期: 2023-09-27 18:05:51
当两种数据类型都是TimeSpan
时,是否存在一种有效的方法来计算X来自Y的百分比?
例如,一个基本的问题是1:00:00
是2:00:00
的50%。计算00:34:23
占4:12:31
的百分比的有效方法是什么?
编辑:根据评论,类型确实打算是TimeSpan
而不是DateTime
,在这一点上一切都很简单。
当你问X占Y的比例时,这基本上是除法,这在TimeSpan
上很容易实现:
public static double Divide(TimeSpan dividend, TimeSpan divisor)
{
return (double) dividend.Ticks / (double) divisor.Ticks;
}
示例代码:
using System;
using System.IO;
using System.Globalization;
using System.Linq;
class Test
{
static void Main()
{
TimeSpan x = new TimeSpan(0, 34, 23);
TimeSpan y = new TimeSpan(4, 12, 31);
Console.WriteLine(Divide(x, y)); // 0.13616 etc, i.e. 13%
}
public static double Divide(TimeSpan dividend, TimeSpan divisor)
{
return (double) dividend.Ticks / (double) divisor.Ticks;
}
}
使用日期时间。蜱虫的财产。您可以通过将DateTime Ticks彼此相减并相除来找到百分比。这是最准确的方法。
如果你只是使用一个时间,使用TimeSpan对象而不是DateTime对象。
时间以单位计量,任何时间都可以转换为该单位的数字,然后作为任何其他数字处理。创建一个TimeSpan
和TotalSeconds
,然后做数学。