#include stdio.h
成都創(chuàng)新互聯(lián)公司擁有一支富有激情的企業(yè)網(wǎng)站制作團隊,在互聯(lián)網(wǎng)網(wǎng)站建設行業(yè)深耕十余年,專業(yè)且經(jīng)驗豐富。十余年網(wǎng)站優(yōu)化營銷經(jīng)驗,我們已為上1000家中小企業(yè)提供了網(wǎng)站設計、成都網(wǎng)站建設解決方案,按需網(wǎng)站建設,設計滿意,售后服務無憂。所有客戶皆提供一年免費網(wǎng)站維護!
#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語言中有兩個相關的函數(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()計算兩者的差,即可得到耗費時間。
用mktime()函數(shù)。
表頭文件:#include time.h
定義函數(shù):time_tmktime(structtm*timeptr);
函數(shù)說明:mktime()用來將參數(shù)timeptr所指的tm結(jié)構(gòu)數(shù)據(jù)轉(zhuǎn)換成從公元1970年1月1日0時0分0秒算起至今的UTC時間所經(jīng)過的秒數(shù)。
返回值:返回經(jīng)過的秒數(shù)。
擴展資料:
C語言參考函數(shù)
C語言isgraph()函數(shù):判斷一個字符是否是圖形字符
C語言isdigit()函數(shù):判斷一個字符是否為數(shù)字
C語言iscntrl()函數(shù):判斷一個字符是否為控制字符
C語言isalpha()函數(shù):判斷一個字符是否是字母
C語言isalnum()函數(shù):判斷一個字符是否是字母或者數(shù)字
C語言pow()函數(shù):求x的y次方的值
C語言frexp()函數(shù):提取浮點數(shù)的尾數(shù)和指數(shù)部分
參考資料來源:百度百科-mktime
參考資料來源:百度百科-c語言
C語言的建時間函數(shù)是 mktime(),原型在 time.h 里
調(diào)用有點繁。
下面,用我的程序輸入 年月日時分秒,調(diào)用mktime(), 就得 C語言 可直接使用的 時間, 存放在 t 里。
例如 輸入年月日時分秒: 2008 8 16 9 55 25
time_t t; 里 就有了 各種時間信息,例如星期幾...
#include stdio.h
#include time.h
void main(){
struct tm *target_time;
time_t rawtime, t;
int year,month,mday,hh,mm,ss;
time ( rawtime );
target_time = localtime ( rawtime );
printf("Please enter year month day hour minute second\n");
printf("For example: \n");
printf("2008 8 16 9 55 25\n");
scanf("%d %d %d %d %d %d", year, month, mday, hh,mm,ss);
target_time-tm_year = year - 1900;
target_time-tm_mon= month - 1;
target_time-tm_mday = mday ;
target_time-tm_hour = hh ;
target_time-tm_min = mm ;
target_time-tm_sec = ss ;
//
t = mktime (target_time);
// t is ready to use
printf("%s ",ctime(t));
}
需要利用C語言的時間函數(shù)time和localtime,具體說明如下:
一、函數(shù)接口介紹:
1、time函數(shù)。
形式為time_t time (time_t *__timer);
其中time_t為time.h定義的結(jié)構(gòu)體,一般為長整型。
這個函數(shù)會獲取當前時間,并返回。 如果參數(shù)__timer非空,會存儲相同值到__timer指向的內(nèi)存中。
time函數(shù)返回的為unix時間戳,即從1970年1月1日(UTC/GMT的午夜)開始所經(jīng)過的秒數(shù),不考慮閏秒。
由于是秒作為單位的,所以這并不是習慣上的時間,要轉(zhuǎn)為習慣上的年月日時間形式就需要另外一個函數(shù)了。
2、localtime函數(shù)。
形式為struct tm *localtime (const time_t *__timer);
其中tm為一個結(jié)構(gòu)體,包含了年月日時分秒等信息。
這種結(jié)構(gòu)是適合用來輸出的。
二、參考代碼:
#include?stdio.h
#include?time.h
int?main?()
{
time_t?t;
struct?tm?*?lt;
time?(t);//獲取Unix時間戳。
lt?=?localtime?(t);//轉(zhuǎn)為時間結(jié)構(gòu)。
printf?(?"%d/%d/%d?%d:%d:%d\n",lt-tm_year+1900,?lt-tm_mon,?lt-tm_mday,?lt-tm_hour,?lt-tm_min,?lt-tm_sec);//輸出結(jié)果
return?0;
}
注意事項:
struct tm中的tm_year 值為實際年減去1900, 所以輸出的時候要是lt-tm_year+1900。
新聞標題:mktime函數(shù)C語言 c語言timeh函數(shù)庫
網(wǎng)頁網(wǎng)址:http://www.rwnh.cn/article46/ddgoehg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供服務器托管、App開發(fā)、外貿(mào)網(wǎng)站建設、網(wǎng)站排名、微信小程序、網(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)