您的位置:

原c语言时间差,c语言日期差

本文目录一览:

如何用c语言计算两个时间的时间差??

#include

time.h

clock_t

start;

clock_t

end;

start

=

clock();

...//需要计算时间的代码片断

end

=

clock();

printf("%ld",

(end

-

start)/clk_tck/60);

【急求】c语言 求两个时间的差值

/*可以处理空格!!!*/

#includestdio.h

#includestring.h

struct TTime

{

int h,m,s;

long GetSec(){return 3600L*h+60*m+s;}

void StrToTime(char _str[])

{

int i,j,len=strlen(_str);

/*去空格*/

for(i=0;ilen;++i)

if(_str[i]==' ')

{

for(j=i;jlen-1;++j)

_str[j]=_str[j+1];

--len;

i=-1;

continue;

}

/*读小时*/

j=0;

for(i=0;ilen;++i)

if(_str[i]==':')

break;

else

j=j*10 + _str[i]-'0';

h = j;

/*读分钟*/

j=0;

for(++i;ilen;++i)

if(_str[i]==':')

break;

else

j=j*10 + _str[i]-'0';

m = j;

/*读秒*/

j=0;

for(++i;ilen;++i)

j=j*10 + _str[i]-'0';

s = j;

}

void ToPlan(long t)

{

int hh,mm,ss;

hh = t/3600;

t%=3600;

mm = t/60;

t%=60;

ss=t;

printf("%2.2d:%2.2d:%2.2d\n",hh,mm,ss);

}

}Ta,Tb,Tc;

void main()

{

char a[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());

}

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语言中如何计算时间差

#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 分钟\n", diff / 60 );

}

扩展资料:

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()\n",difftime(c_end,c_start));

printf("The pause used %f s by time()\n",difftime(t_end,t_start));

system("pause");

return 0;

}

因此,要计算某一函数块的占用时间时,只需要在执行该函数块之前和执行完该函数块之后调用同一个时间计算函数。再调用函数difftime()计算两者的差,即可得到耗费时间。