c语言时间差
#include<stdio.h>
intmain()
{
inth1,s1,h2,s2,h3,s3;;
printf("Inputtimeone(hour,second):");
scanf("%d,%d",&h1,&s1);
printf("Inputtimetwo(hour,second):");
scanf("%d,%d",&h2,&s2);
h3=h1-h2;
s3=s1-s2;
if(s3<0&&h3==0)s3=-s3;
elseif(h3<0)h3=-h3,s3=-s3;
if(s3<0)h3-=1,s3+=60;
printf("%dhour%dsecond ",h3,s3);
}
B. C语言 计时函数时间差总为零
C语言中变量是有作用域的,除非定义了全局变量,一般而言不同的函数体中的变量相互不可见。
因此,主函数中的t_start与leave_car()函数中的t_start并不是同一个变量!
修改如下:
将主函数中的
time_t t_start,t_end;
t_start=time(NULL);
两个语句去掉,因为对整个程序而言没有实际的作用。在leave_car()中
printf("yes");
前添加
t_start=time(NULL);
另外
printf("time is %f s ",difftime(t_end,t_start);
少写了一个反括号
C. C语言生日到当前日期时间差计算
给个模板,造福人类
//-------------------从X年X月X日开始到X年X月X日之间多少天了
#include<stdio.h>
//给定一个年月日,计算这一年已经过的天数
inttotal_day(intyear,intmonth,intday)
{
intsum=0;
switch(month)
{
case1:sum=day;
break;
case2:sum=31+day;
break;
case3:sum=59+day;
break;
case4:sum=90+day;
break;
case5:sum=120+day;
break;
case6:sum=151+day;
break;
case7:sum=181+day;
break;
case8:sum=212+day;
break;
case9:sum=243+day;
break;
case10:sum=273+day;
break;
case11:sum=304+day;
break;
case12:sum=334+day;
break;
default:
printf("输入的月份有错误 ");
break;
}
if(month>2)
{
if(((year%4==0)&&(year%100!=0))||(year%400)==0){
sum=sum+1;
}
}
returnsum;
}
//年与年相差的天数
inttotal_year_day(intyear1,intyear2)
{
intsum_year_day=0;
inti=0;
sum_year_day=(year2-year1)*365;
for(i=year1;i<year2;i++)
{
if(((i%4==0)&&(i%100!=0))||(i%400)==0){
sum_year_day=sum_year_day+1;
}
}
returnsum_year_day;
}
intmain()
{
intyear1=2013,month1=1,day1=1;
intyear2=2013,month2=1,day2=1;
intsum=0;
printf("~~~~~~计算两天之间相差的天数~~~~~~ ");
printf("请输入起始的年月日(格式为:XXXX:XX:XX)");
scanf("%d:%d:%d",&year1,&month1,&day1);
printf("请输入结束的年月日(格式为:XXXX:XX:XX)");
scanf("%d:%d:%d",&year2,&month2,&day2);
sum=total_year_day(year1,year2)-total_day(year1,month1,day1)+total_day(year2,month2,day2);
printf("它们之间相差的天数为:%d ",sum);
return0;
}
D. C语言 文件中时间与当前系统时间 时间差比较(比较结果返回为天数)最好是调用子函数解决
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intdays(char*begin_time)//格式:"20180914000000"//2018-9-140点0分0秒
{
structtmtm1;
time_ttime1,time_now;
sscanf(begin_time,"%4d%2d%2d%2d%2d%2d",&tm1.tm_year,&tm1.tm_mon,&tm1.tm_mday,&tm1.tm_hour,&tm1.tm_min,&tm1.tm_sec);
tm1.tm_year-=1900;
tm1.tm_mon--;
tm1.tm_isdst=-1;
time1=mktime(&tm1);//构造time1
time_now=time(NULL);
tm1=*(localtime(&time_now));//当时日期
return(time_now-time1)/(3600*24);//返回相差天数
}
intmain()
{
chartime_in_file[30]={"20180914000000 "};
printf(" %d",days(time_in_file));
return0;
}
E. C语言怎么把时间1和时间2换成分钟,再计算时间差
unsigned int time1, time2, h, m;
time1 = h1 * 60 + m1;
time2 = h2 * 60 + m2;
time1 = time1 > time2 ? time1 - time2 : time2 - time1;
h = time1 / 60;
m = time1 % 60;
printf("时间差为%u小时%u分钟\r\n", h, m);
F. 如何用c语言计算两个时间的时间差
#include <time.h>
clock_t start; clock_t end;
start = clock();
...//需要计算时间的代码片断
end = clock();
printf("%ld", (end - start)/CLK_TCK/60);
G. C语言中如何计算时间差
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
{
unsigned char time1[] = {10, 8, 31, 9, 26 };
unsigned char time2[] = { 10, 8, 31, 9, 50 };
struct tm t1 = {0};
struct tm t2 = {0};
time_t _t1;
time_t _t2;
double diff;
t1.tm_year = time1[0] + 100;
t1.tm_mon = time1[1];
t1.tm_mday = time1[2];
t1.tm_hour = time1[3];
t1.tm_min = time1[4];
t2.tm_year = time2[0] + 100;
t2.tm_mon = time2[1];
t2.tm_mday = time2[2];
t2.tm_hour = time2[3];
t2.tm_min = time2[4];
_t1 = _mkgmtime( &t1 );
_t2 = _mkgmtime( &t2 );
diff = difftime(_t2, _t1 );
printf( "相差 %.0f 分钟
", diff / 60 );
}
(7)c语言时间差扩展阅读:
C语言中有两个相关的函数用来计算时间差,分别是:
time_t time( time_t *t) 与 clock_t clock(void)
头文件: time.h
计算的时间单位分别为: s , ms
time_t 和 clock_t 是函数库time.h 中定义的用来保存时间的数据结构
返回值:
1、time : 返回从公元1970年1月1号的UTC时间从0时0分0秒算起到现在所经过的秒数。如果参数 t 非空指针的话,返回的时间会保存在 t 所指向的内存。
2、clock:返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数。 1单元 = 1 ms。
所以我们可以根据具体情况需求,判断采用哪一个函数。
具体用法如下例子:
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
time_t c_start, t_start, c_end, t_end;
c_start = clock(); //!< 单位为ms
t_start = time(NULL); //!< 单位为s
system("pause");
c_end = clock();
t_end = time(NULL);
//!<difftime(time_t, time_t)返回两个time_t变量间的时间间隔,即时间差
printf("The pause used %f ms by clock() ",difftime(c_end,c_start));
printf("The pause used %f s by time() ",difftime(t_end,t_start));
system("pause");
return 0;
}
因此,要计算某一函数块的占用时间时,只需要在执行该函数块之前和执行完该函数块之后调用同一个时间计算函数。再调用函数difftime()计算两者的差,即可得到耗费时间。
H. C语言中如何计算时间差 秒
C语言中有时间函数(time函数),可以打印出系统时间,相减就行。当然,也有各类延时函数。sleep族函数。
I. c语言如何计算时间差
boolcomputer(file_date_tt1,file_date_tt2)
{
intmin=t1.i_dd<t2.i_dd?t1.i_dd:t2.i_dd;
inttime1=(t1.i_dd-min)*24+t1.i_hh;
inttime2=(t2.i_dd-min)*24+t2.i_hh;
if(time1>time2)
{
if(time1-time2>12)
{
printf("时间超过12个小时! ");
returntrue;
}
printf("时间不超过12个小时! ");
returnfalse;
}
else
{
if(time2-time1>12)
{
printf("时间超过12个小时! ");
returntrue;
}
printf("时间不超过12个小时! ");
returnfalse;
}
}