time_t表示時間型別資料,在標頭檔案time.h中定義,而計算機表示乙個日曆時間是從2023年1月1日0時0分0秒到現在的秒數
函式型別是 typedef long time_t; long型別
時間庫函式
time_t time(time_t *t); 利用返回值,返回值是2023年1月1日0時0分0秒到現在的秒數
呼叫方法1:
time_t tt;
tt=time(0);
給time函式傳遞乙個空位址,再把返回值給ii;
#include#includeint main ()
1589791038
呼叫方法2:
time_t tt;
time(&tt) ; 把變數tt的位址給time函式
#include#includeint main ()
1589791144
tm結構體
time_t可以轉換為方便表示的時間結構體,就是在 time.h中宣告的tm結構體
struct tm
tm_sec=41
tm_min=4
tm_hour=19
tm_mday=18
tm_mon=4
tm_year=120
tm_wday=1
tm_yday=138
tm_isdst=0
測試localtime庫函式。
#include#includeint main ()
2019-05-18 19:19:08
mktime庫函式
與localtime庫函式功能相反 ,是把struct tm 結構體表示的轉換為time_t表示的
測試:
#include#include#includeint main ()
結果為:
1558178426
程式睡眠:
sleep和usleep 需要包含unistd.h標頭檔案中
呼叫例項:
#include#includeint main()
return 0;
}
又過去了0秒
又過去了1秒
又過去了2秒
又過去了3秒
又過去了4秒
又過去了5秒
又過去了6秒
又過去了7秒
usleep只是精確到微秒 用法一樣,1微秒=1*10^6;
精確到微秒的計時器
timeval結構體精確到微秒,在sys/time.**件中定義
宣告為
struct timeval
;
timezone 時區結構體,也是在sys/time.**件中定義
宣告如下:
struct timezone
;
gettimeofday庫函式
用來獲取當前秒和微秒,其中,秒指的是2023年1月1日到現在的秒,而微秒是指當前這一秒,過去了 多少微秒。
gettimeofday函式仍然在 sys/time.**件中呼叫時需要包含該檔案。
宣告如下:
int gettimeofday(struct timeval *tv, struct timezone *tz )
當前的時間存放在tv 結構體中,當地時區的資訊則放到tz所指的結構體中,tz可以為空
成功返回值為0,失敗為-1;
呼叫時,tz一般為空,
測試;
#include#include#includeint main()
開始計時,當前秒是1589804633,微秒是650161
計時結束,當前秒是1589804633,微秒是650289
共計時了128微秒
c語言整理時間操作練習題
1 編寫乙個通用函式,把整數的時間轉換為字串格式的時間,格式如 2019 02 08 12 05 08 如果轉換成功函式返回0,失敗返回 1,函式的宣告如下 int timetostr const time t ti,char strtime include include include incl...
c語言整理目錄的操作
1.getcwd庫函式使用 很少使用 獲取當前工作目錄 char getcwd char buf,size t size include include includeint main root zty效果與pwd 命令一樣 chdir 很少使用 int chdir const char path ...
C語言時間操作函式
一 獲取日曆時間 time t是定義在time.h中的乙個型別,表示乙個日曆時間,也就是從1970年1月1日0時0分0秒到此時的秒數,原型是 typedef long time t time value 可以看出time t其實是乙個長整型,由於長整型能表示的數值有限,因此它能表示的最遲時間是203...