如何获得以小时为单位的时间百分比

本文关键字:时间 百分比 为单位 小时 何获得 | 更新日期: 2023-09-27 18:00:58

我正在使用asp.net c#开发一个web应用程序。我需要得到时间的百分比。我没有找到实现这一目标的正确方法。我有来自数据库的TotalHours。我需要计算总小时数的80%。

我们将不胜感激。谢谢

//This is how I am getting the TotalTime
TimeSpan TotalTime = TimeSpan.Parse(totalhours);
if(TotalTime != null)
{
TimeSpan Percentage= ( TotalTime* 80 ) / 100;
// here I need to get correct percentage in hrs
// If TotalTime is 10 hrs then Percentage should be 8 hrs 
}

如何获得以小时为单位的时间百分比

TimeSpan TotalTime = TimeSpan.Parse("10:00:00");
if (TotalTime != null)
{
    var ticks = ((TotalTime.Ticks * 80) / 100);
    TimeSpan Percentage = new TimeSpan(ticks);
    Console.WriteLine(Percentage);  // 8 hours
}
TimeSpan totalTime = new TimeSpan(10, 0, 0);
TimeSpan percentage = TimeSpan.FromMilliseconds((totalTime.TotalMilliseconds * 80) / 100);

从totalTime中获取总毫秒,计算并将其从毫秒转换回TimeSpan

如果你对工作时间感到满意,只需更改:

TimeSpan percentage = TimeSpan.FromHours((totalTime.TotalHours * 80) / 100);

TimeSpanTotalHours属性以double的形式返回总小时数。这就是为什么你可以计算出你的TimeSpan样的80%;

double Percentage = (TotalTime.TotalHours * 4) / 5;