Я пытаюсь определить разницу во времени между двумя временами, которые я представляю как целые числа без знака (в структуре) следующим образом:
unsigned int day;
unsigned int month;
unsigned int year;
unsigned int hour;
unsigned int mins;
unsigned int seconds;
я могу достаточно легко вычислить разницу во времени в минутах между двумя событиями, происходящими в один и тот же день, используя: Это не мой точный код, это просто логика, стоящая за ним.
time1 = hours*3600 + mins*60 + seconds;
time1 = hours2*3600 + mins2*60 + seconds2;
//time2 will always be less than time1
time_diff_secs = time1_secs - time2_secs;
time_diff_mins = time_diff_secs / 60;
time_diff_secs = time_diff_secs % 60;
это производит этот вывод:
Time mayday was issued: 13 Hours 4 Mins 0 Seconds
Time mayday was recieved: 13 Hours 10 Mins 0 Seconds
Time between sending and receiving: 6.00Mins
что правильно, но когда у меня есть два раза в разные дни, я получаю это в результате:
Time mayday was issued: 23 Hours 0 Mins 0 Seconds
Time mayday was recieved: 0 Hours 39 Mins 38 Seconds
Time between sending and receiving: 71581448.00Mins
Это явно неверно, я не знаю, как двигаться дальше, фактический результат должен быть 40 минут, а не 71,5 миллиона.