//C语言计算两个时间段的差值
include
struct Time
{
int seconds;
int minutes;
int hours;
};
void differenceBetweenTimePeriod(struct Time t1, struct Time t2, struct Time *diff);
int main()
{
struct Time startTime, stopTime, diff;
printf("输入开始时间:\n");
printf("输入小时,分钟,秒:");
scanf("%d %d %d", &startTime.hours, &startTime.minutes, &startTime.seconds);
printf("输入结束时间:\n");
printf("输入小时,分钟,秒:");
scanf("%d %d %d", &stopTime.hours, &stopTime.minutes, &stopTime.seconds);
differenceBetweenTimePeriod(startTime, stopTime, &diff);
printf("\n时间差值:%d:%d:%d-", startTime.hours, startTime.minutes, startTime.seconds);
printf("%d:%d:%d", stopTime.hours, stopTime.minutes, stopTime.seconds);
printf("=%d:%d:%d\n", diff.hours, diff.minutes, diff.seconds);
}
void differenceBetweenTimePeriod(struct Time start, struct Time stop, struct Time *diff)
{
if (stop.seconds > start.seconds)
{
start.minutes--;
start.seconds += 60;
}
diff->seconds = start.seconds - stop.seconds;
if (stop.minutes > start.minutes)
{
start.hours--;
start.minutes += 60;
}
diff->minutes = start.minutes - stop.minutes;
diff->hours = start.hours - stop.hours;
}