C語言中有時間函數(shù)(time函數(shù)),可以打印出系統(tǒng)時間,相減就行。當(dāng)然,也有各類延時函數(shù)。sleep族函數(shù)。
新鄉(xiāng)網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)2013年開創(chuàng)至今到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。
#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語言中有兩個相關(guān)的函數(shù)用來計算時間差,分別是:
time_t time( time_t *t)? ?與 clock_t clock(void)
頭文件: time.h
計算的時間單位分別為: s? ?, ms
time_t 和 clock_t 是函數(shù)庫time.h 中定義的用來保存時間的數(shù)據(jù)結(jié)構(gòu)
返回值:
1、time? : 返回從公元1970年1月1號的UTC時間從0時0分0秒算起到現(xiàn)在所經(jīng)過的秒數(shù)。如果參數(shù) t 非空指針的話,返回的時間會保存在 t 所指向的內(nèi)存。
2、clock:返回從“開啟這個程序進程”到“程序中調(diào)用clock()函數(shù)”時之間的CPU時鐘計時單元(clock tick)數(shù)。? ? ?1單元 = 1 ms。
所以我們可以根據(jù)具體情況需求,判斷采用哪一個函數(shù)。
具體用法如下例子:
#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;
}
因此,要計算某一函數(shù)塊的占用時間時,只需要在執(zhí)行該函數(shù)塊之前和執(zhí)行完該函數(shù)塊之后調(diào)用同一個時間計算函數(shù)。再調(diào)用函數(shù)difftime()計算兩者的差,即可得到耗費時間。
#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,?"%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)?);
}
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;
}
}
#include
time.h
clock_t
start;
clock_t
end;
start
=
clock();
...//需要計算時間的代碼片斷
end
=
clock();
printf("%ld",
(end
-
start)/clk_tck/60);
網(wǎng)頁題目:時間差計算函數(shù)c語言 c語言計算日期差函數(shù)
轉(zhuǎn)載源于:http://www.muchs.cn/article40/hphiho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、ChatGPT、商城網(wǎng)站、網(wǎng)頁設(shè)計公司、定制網(wǎng)站、微信公眾號
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)