本文目錄一覽:
如何用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()計算兩者的差,即可得到耗費時間。
原創文章,作者:JVKJS,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/128138.html