如何用c语言编程计算两个时间之间的时间差 如07:26至09:12
发布网友
发布时间:2022-05-20 19:48
我来回答
共2个回答
热心网友
时间:2023-11-18 22:11
int i,j,sum,m,n;
char c,o;
while(1)
{
scanf("%d%c%d",&i,&c,&j);
scanf("%d%c%d",&m,&o,&n);
if(c==':'&&i>=0&&i<=24&&j>=0&&j<=60&&o==':'&&m>=0&&m<=24&&n>=0&&n<=60)
break;}
i=i%24;
m=m%24;
sum=abs(i-m)*3600+(n-j)*60;
printf("%d秒",sum);追问程序不对
追答你的输入格式不对吧
输入:7:26(回车)9:12
我这里验证过的
热心网友
时间:2023-11-18 22:11
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
struct tm t1,t2;
time_t t_of_day1,t_of_day2;
t1.tm_year=1997-1900;t1.tm_mon=6;t1.tm_mday=1;
t1.tm_hour=7;t1.tm_min=26;t1.tm_sec=1;t1.tm_isdst=0;
t_of_day1=mktime(&t1);
t2.tm_year=1997-1900;t2.tm_mon=6;t2.tm_mday=1;
t2.tm_hour=9;t2.tm_min=12;t2.tm_sec=1;t2.tm_isdst=0;
t_of_day2=mktime(&t2);
printf("%lf\n",difftime(t_of_day2,t_of_day1));
return 0;
}