Как да получа процента на времето в часове?

Разработвам уеб приложение, използвайки asp.net c#. В това трябва да получа процента на времето. Не разбирам правилния начин да постигна това. Имам TotalHours, който идва от db. Трябва да изчисля 80% от този TotalHours.

Помощта ще бъде оценена. Благодаря...

//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 

}

person user2758530    schedule 04.07.2015    source източник
comment
възможен дубликат на Multiply TimeSpan в .NET   -  person Rhumborl    schedule 04.07.2015
comment
Ако идва от db, не трябва да извиквате TimeSpan.Parse, защото не трябва да съхранявате времето като низове във вашата db. Вместо това определете точността, която ви интересува (напр. минути) и запазете цяло число от тази точност. След това използвайте TimeSpan.FromMinutes, TimeSpan.TotalMinutes или подобни методи за други точности.   -  person Matt Johnson-Pint    schedule 08.07.2015


Отговори (3)


TimeSpan totalTime = new TimeSpan(10, 0, 0);
TimeSpan percentage = TimeSpan.FromMilliseconds((totalTime.TotalMilliseconds * 80) / 100);

Вземете общо милисекунди от вашето общо време, направете изчислението и го преобразувайте обратно в TimeSpan от милисекунди.

Ако сте доволни от часовете, просто променете:

TimeSpan percentage = TimeSpan.FromHours((totalTime.TotalHours * 80) / 100);
person msmolcic    schedule 04.07.2015

TotalHours собственост на TimeSpan връща общия брой часове като double. Ето защо можете да изчислите %80 от вашите TimeSpan харесвания;

double Percentage = (TotalTime.TotalHours * 4) / 5;
person Soner Gönül    schedule 04.07.2015

person    schedule
comment
Плюс 1. Харесва ми това, тъй като отнема общо време, т.е. тикове, а не само часове. - person Nikhil Agrawal; 04.07.2015
comment
@NikhilAgrawal да, написах същото преди 7 минути, но каквото и да е :) - person msmolcic; 04.07.2015
comment
Плюс 1 и за теб @msmolcic. - person Nikhil Agrawal; 04.07.2015