如何获得以小时计的时间百分比......?

时间:2015-07-04 10:01:40

标签: c# asp.net timespan

我正在使用asp.net c#开发一个Web应用程序。 在那我需要得到时间的百分比。 我没有得到正确的方法来实现这一目标。我有来自db的TotalHours。我需要计算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 

}

3 个答案:

答案 0 :(得分:3)

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
}

答案 1 :(得分:1)

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);

答案 2 :(得分:0)

TimeSpan的{​​p> TotalHours property会将总小时数作为double返回。这就是为什么你可以加密TimeSpan的%80;

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