Перевести общее время в минуты в C # - PullRequest
1 голос
/ 14 мая 2019

Я занимаюсь разработкой приложения на C # (WinForm) с целью регистрации времени обслуживания задачи и хотел бы, чтобы вы помогли решить это дело.Мне нужно зарегистрировать два разных времени в двух разных переменных (оба должны быть текущими графиками работы компьютера), потому что у меня будет время начала и окончания.Поэтому мне нужно рассчитать это время между графиками и превратить результат в минуты и отобразить его в TextBox.Мне также нужно иметь общее значение в минутах и ​​преобразовать его в время в «часах: минутах».

У меня есть код, приведенный ниже.Если кто-нибудь может мне помочь, спасибо!

private void GetHoras()
{
  DateTime total = DateTime.Now;

  string totalTime;
  totalTime = total.ToShortTimeString();
  txtTempo.Text = totalTime;
 }

Ответы [ 2 ]

6 голосов
/ 14 мая 2019

То, что вы ищете, это TimeSpan структура.

Если вы вычтете один DateTime из другого, вы получите результат TimeSpan автоматически.

У него есть участники, которые могут дать вам общее количество минут, секунд, часов и т. Д. Или отдельные части.

1 голос
/ 14 мая 2019

Вы можете использовать функцию Substract:

DateTime date1 = DateTime.Now.AddHours(-2).AddMinutes(-25);
DateTime date2 = DateTime.Now;
TimeSpan interval = date2.Subtract(date1);

int hoursDiff = interval.Hours;
int minutesDiff = interval.Minutes;
double minutesTotal = interval.TotalMinutes;
...