C语言求时间差函数 c语言计算日期差函数

C语言中计算2个时间的差值的函数

#include time.h

创新互联建站主要从事网站制作、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务梓潼,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220

#include stdio.h

time_t _mktime( char *slTime ) /** yyyy-mm-dd **/

{

struct tm tm_t;

int year;

int mon;

int day;

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;

return mktime( tm_t );

}

int daydiff( char *date1, char *date2 ) /** yyyy-mm-dd **/

{

time_t t1 = _mktime( date1 );

time_t t2 = _mktime( date2 );

time_t diff = abs( t2 - t1 );

return (int)( diff / (24*60*60) );

}

int main()

{

char date1[12], date2[12];

printf( "input date1: " );

scanf( "%s", date1 );

fflush( stdin );

printf( "input date2: " );

scanf( "%s", date2 );

fflush( stdin );

printf( "%s - %s is %d days\n", date1, date2, daydiff(date1, date2) );

}

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()计算两者的差,即可得到耗费时间。

c语言如何计算时间差

bool computer(file_date_t t1, file_date_t t2)

{

int min = t1.i_ddt2.i_dd?t1.i_dd:t2.i_dd;

int time1 = (t1.i_dd-min)*24+t1.i_hh;

int time2 = (t2.i_dd-min)*24+t2.i_hh;

if (time1  time2)

{

if (time1 - time2  12)

{

printf("时间超过12个小时!\n");

return true;

}

printf("时间不超过12个小时!\n");

return false;

}

else

{

if (time2 - time1  12)

{

printf("时间超过12个小时!\n");

return true;

}

printf("时间不超过12个小时!\n");

return false;

}

}

【急求】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语言求时间差函数 c语言计算日期差函数
文章路径:http://bzwzjz.com/article/hhgecd.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站建设 成都网站设计 广安网站设计 成都定制网站建设 企业网站建设公司 成都网站建设公司 成都网站制作 网站设计公司 定制级高端网站建设 成都网站建设 成都商城网站制作 外贸营销网站建设 成都网站制作 手机网站制作 成都网站建设 网站制作报价 企业手机网站建设 企业网站设计 达州网站设计 高端网站建设 响应式网站设计方案 网站建设改版