以24格式的时间差
#include <stdio.h>
// 时间结构体hour, minute, second
typedef struct Time{
int H;
int M;
int S;
} time;
int main() {
time t1, t2;// t1 是开始时间, t2 是截至时间,它们之间的最大时间差为 (24 * 3600 - 1)s
int p1, p2, d;
scanf("%d:%d:%d", &t1.H, &t1.M, &t1.S);
scanf("%d:%d:%d", &t2.H, &t2.M, &t2.S);
// 以00:00:00 为参考点,分别得到t1, t2的到参考点的时间差
p1 = t1.H * 3600 + t1.M*60 + t1.S;
p2 = t2.H*3600 + t2.M*60 + t2.S;
d = p2 - p1; // 然后相减
if(d < 0)// 小于零, 说明t1 到t2 时,要经过24点。否则不过24点,直接相减可得结果
d = 24 * 3600 + d;
printf("%d", d);
return 1;
}