C語言中有時間函數(time函數),可以打印出系統時間,相減就行。當然,也有各類延時函數。sleep族函數。
10年積累的成都網站制作、成都網站建設、外貿營銷網站建設經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先做網站后付款的網站建設流程,更有平川免費網站建設讓你可以放心的選擇與我們合作。
#include
time.h
clock_t
start;
clock_t
end;
start
=
clock();
...//需要計算時間的代碼片斷
end
=
clock();
printf("%ld",
(end
-
start)/clk_tck/60);
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;
}
}
/*可以處理空格!!!*/
#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());
}
#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()計算兩者的差,即可得到耗費時間。
#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語言時間之差
網頁路徑:http://m.kartarina.com/article26/hgchcg.html
成都網站建設公司_創新互聯,為您提供手機網站建設、響應式網站、網站營銷、外貿建站、用戶體驗、做網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯