C #에서 총 시간을 얻는 방법은 24 시간 이상일 수 있습니다.

Dec 18 2020

한 달에 근무 시간이 필요합니다

ex : 7:30 + 8:00 + 6:30 +9:30 its 31:30TimeSpan으로31:30 시도한 대로 답변이 필요합니다.

 // create new timespan
  TimeSpan total = TimeSpan.Zero;

 // iterate through items
  foreach (var count in model.Items)
   {
      TimeSpan totalDonationSum = TimeSpan.Parse(count.Hours);
      total += totalDonationSum;
   }

1.06 : 21 : 00 (24 시간 이상인 경우)과 같은 Total을 얻습니다.

내가 뭘 잘못하고 있거나 이것과 다른 일을한다면 내가 도와 줄게

답변

1 NathanielWalser Dec 18 2020 at 18:11

이를 통해 시간과 분이 분리됩니다.

// create new timespan
TimeSpan total = TimeSpan.Zero;

// iterate through items
foreach (var count in model.Items)
{
    TimeSpan totalDonationSum = TimeSpan.Parse(count.Hours);
    total += totalDonationSum;
}

// calculate
int hours = (int)total.TotalHours;
int minutes = total.Minutes;

// display
string time = hours.ToString("00") + ":" + minutes.ToString("00");
1 EltonBicalho Dec 18 2020 at 18:37

분을 사용하여 시간의 끝 형식으로 계산하십시오.

이 코드는 다음을 도와줍니다.

int totalMinutes = 0;
foreach (var count in model.Items)
{
    DateTime totalDonationSum = DateTime.Parse(count.Hours);
    totalMinutes += (totalDonationSum.Hour*60) + totalDonationSum.Minute;
}

TimeSpan span = TimeSpan.FromMinutes(totalMinutes);
string hoursFormatThatYouWant = span.ToString(@"hh\:mm\:ss");

//If you use a console or you can change for MessageBox or Alert :)
Console.WriteLine("Total Hours:" + hoursFormatThatYouWant);
Agrgg Dec 18 2020 at 18:06

사용 TimeSpan.TotalHours속성.

TimeSpans로 산술 연산을 수행 TimeSpan하여 결과를 얻은 다음 다음 TotaHours과 같은 속성 을 가져올 수 있습니다.

double totalHours = (TimeSpan.FromDays(1) + TimeSpan.FromHours(7)).TotalHours;

totalHours 이 경우 값은 31입니다.

DurgeshSingh Dec 18 2020 at 18:49

TimeSpan.Hours 속성을 사용하여 :

// 틱 수가 많은 TimeSpan 값을 만듭니다. Console.Write ( "\ n {0, -45}", "TimeSpan (111222333444555)"); ShowTimeSpanProperties (new TimeSpan (111222333444555));

Console.WriteLine ( "{0, -12} {1,8} {2, -18} {3,21 : N3}", "Hours", interval.Hours, "TotalHours", interval.TotalHours);

출처: https://docs.microsoft.com/en-us/dotnet/api/system.timespan.hours?view=net-5.0