c语言求两个时间差的函数 c语言时间之差

如何用c语言计算两个时间的时间差??#include
time.h
clock_t
start;
clock_t
end;
start
=
clock();
...//需要计算时间的代码片断
end
=
clock();
printf("%ld",
(end
-
start)/clk_tck/60);
如何用C程序计算两个日期之间的时间差啊 。。。。。。。看你的日期时间怎样表示的 。如果2个日期时间都是 time_t形式 , 那么直接 用 time.h 里的
difftime (t1,t0);直接得 到时间差 。
如果 自己 给定 整数 年,月,日,时,分,秒 那么需要做些工作后,
用mktime(struct tm * target_time)转为 time_t形式 。
例如:
time_t rawtime;
struct tm * target_time;
time_t now,t_end;
int y,mo, d,h,m,s;
// 输入 年,月,日,时,分,秒 y,mo, d,h,m,s;
time ( rawtime );
target_time = localtime ( rawtime );// time_t to tm
// time strucand to time_t
target_time-tm_year = y - 1900;
target_time-tm_mon= mo - 1;// month - 1
target_time-tm_mday = d ;// day
target_time-tm_hour = h ;// hour
target_time-tm_min = m ;
target_time-tm_sec = s ;
t_end = mktime (target_time);
// printf("%s ",ctime(t_end));// print and check得到的日期 。
c语言 用库函数计算两日期相差的天数#include stdio.h
#include stdlib.h
#include string.h
#include math.h
#include time.h
intget_days(const char* from, const char* to);
time_t convert(int year,int month,int day);
int main()
{
const char* from="2013-3-15";
const char* to="2015-8-14";
int days=get_days(from,to);
printf("From:%s\nTo:%s\n",from,to);
printf("%d\n",days);
return 0;
}
time_t convert(int year,int month,int day)
{
struct tm info={0};
info.tm_year=year-1900;
info.tm_mon=month-1;
info.tm_mday=day;
return mktime(info);
}
intget_days(const char* from, const char* to)
{
int year,month,day,fromSecond,toSecond;
sscanf(from,"%d-%d-%d",year,month,day);
fromSecond=(int)convert(year,month,day);
sscanf(to,"%d-%d-%d",year,month,day);
toSecond=(int)convert(year,month,day);
return (toSecond-fromSecond)/24/3600;
}
From:2013-3-15
To:2015-8-14
882
Press any key to continue
这才算是用c语言求两个时间差的函数了库函数c语言求两个时间差的函数了···
C语言中计算2个时间的差值的函数#include time.h
#include stdio.h
time_t _mktime( char *slTime ) /** yyyy-mm-dd **/
{
struct tm tm_t;
int year;
int mon;
int day;
sscanf( slTime, "M----", 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语言 求两个时间的差值/*可以处理空格?。。?/
#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)
【c语言求两个时间差的函数 c语言时间之差】_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语言中如何计算时间差#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语言求两个时间差的函数和c语言时间之差的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读