❶ 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 );
}
(1)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()计算两者的差,即可得到耗费时间。
❷ 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);
❸ 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;
}
}
❹ 如何用c语言计算两个时间的时间差
#include
<time.h>
clock_t
start;
clock_t
end;
start
=
clock();
...//需要计算时间的代码片断
end
=
clock();
printf("%ld",
(end
-
start)/clk_tck/60);
❺ C语言中计算2个时间的差值的函数
#include<time.h>
#include<stdio.h>
time_t_mktime(char*slTime)/**yyyy-mm-dd**/
{
structtmtm_t;
intyear;
intmon;
intday;
sscanf(slTime,"%4d-%2d-%2d",&year,&mon,&day);
tm_t.tm_year=year-1900;
tm_t.tm_mon=mon-1;
tm_t.tm_mday=day;
tm_t.tm_hour=12;
tm_t.tm_min=00;
tm_t.tm_sec=01;
tm_t.tm_wday=0;
tm_t.tm_yday=0;
tm_t.tm_isdst=0;
returnmktime(&tm_t);
}
intdaydiff(char*date1,char*date2)/**yyyy-mm-dd**/
{
time_tt1=_mktime(date1);
time_tt2=_mktime(date2);
time_tdiff=abs(t2-t1);
return(int)(diff/(24*60*60));
}
intmain()
{
chardate1[12],date2[12];
printf("inputdate1:");
scanf("%s",date1);
fflush(stdin);
printf("inputdate2:");
scanf("%s",date2);
fflush(stdin);
printf("%s-%sis%ddays ",date1,date2,daydiff(date1,date2));
}
❻ 【急求】c语言 求两个时间的差值
/*可以处理空格!!!*/
#include<stdio.h>
#include<string.h>
structTTime
{
inth,m,s;
longGetSec(){return3600L*h+60*m+s;}
voidStrToTime(char_str[])
{
inti,j,len=strlen(_str);
/*去空格*/
for(i=0;i<len;++i)
if(_str[i]=='')
{
for(j=i;j<len-1;++j)
_str[j]=_str[j+1];
--len;
i=-1;
continue;
}
/*读小时*/
j=0;
for(i=0;i<len;++i)
if(_str[i]==':')
break;
else
j=j*10+_str[i]-'0';
h=j;
/*读分钟*/
j=0;
for(++i;i<len;++i)
if(_str[i]==':')
break;
else
j=j*10+_str[i]-'0';
m=j;
/*读秒*/
j=0;
for(++i;i<len;++i)
j=j*10+_str[i]-'0';
s=j;
}
voidToPlan(longt)
{
inthh,mm,ss;
hh=t/3600;
t%=3600;
mm=t/60;
t%=60;
ss=t;
printf("%2.2d:%2.2d:%2.2d ",hh,mm,ss);
}
}Ta,Tb,Tc;
voidmain()
{
chara[105],b[105];
gets(a);
gets(b);
Ta.StrToTime(a);
Tb.StrToTime(b);
printf("sec:%ld,time:",Tb.GetSec()-Ta.GetSec());
Tc.ToPlan(Tb.GetSec()-Ta.GetSec());
}