#include <stdio.h>
struct TIME
{
int seconds;
int minutes;
int hours;
};
void TimeDifference(struct TIME t1, struct TIME t2, struct TIME *diff);
int main(void)
{
struct TIME startTime, endTime, diff;
startTime.hours = 13;
startTime.minutes = 26;
startTime.seconds = 17;
endTime.hours = 15;
endTime.minutes = 12;
endTime.seconds = 48;
TimeDifference(startTime, endTime, &diff);
printf("%d:%d:%d\n", diff.hours, diff.minutes, diff.seconds);
return 0;
}
void TimeDifference(struct TIME startTM, struct TIME endTM, struct TIME *diff)
{
if (endTM.seconds > startTM.seconds)
{
startTM.minutes--;
startTM.seconds += 60;
}
if(endTM.minutes > startTM.minutes)
{
startTM.hours--;
startTM.minutes += 60;
}
diff->seconds = startTM.seconds - endTM.seconds;
diff->minutes = startTM.minutes - endTM.minutes;
diff->hours = startTM.hours - endTM.hours;
}
/*
run:
-2:13:29
*/