Как получить часы и минуты из интервала секунд в цели - PullRequest
0 голосов
/ 15 января 2012

У меня разница во времени между двумя датами.Интервал в секундах составляет 3660, что означает 1 час и 1 минуту назад.Как я могу показать интервал секунд в часах и минутах, как я уже говорил?я могу получить часы, выполнив (3600/60)/60, что дает мне один час, но как мне получить оставшиеся минуты вместе с часом?

Любая помощь приветствуется.

Ответы [ 3 ]

6 голосов
/ 15 января 2012

Примерно так:

int totalTime = 3660;
int hours = totalTime / 3600;
int minutes = (totalTime % 3600) / 60;
1 голос
/ 15 января 2012

Вы можете использовать функцию C div для получения коэффициента и остатка за один вызов функции.

#include <stdio.h>
#include <stdlib.h>  //div_t

int main (int argc, char const *argv[])
{
  int seconds = 3661;
  div_t hrmin, minsec;
  minsec = div(seconds, 60);
  hrmin = div(minsec.quot, 60);

  printf("%i seconds equals %i hours, %i minutes and %i seconds.\n", \
         seconds, hrmin.quot, hrmin.rem, minsec.rem);

  return 0;
}
1 голос
/ 15 января 2012

Используйте оператор по модулю :

(3660 / 60) % 60 = 1

Пример по модулю:

0 % 3 = 0
1 % 3 = 1
2 % 3 = 2
3 % 3 = 0
4 % 3 = 1
5 % 3 = 2
6 % 3 = 0
7 % 3 = 1
...

См. Образец здесь?

...