c語言整理時間的操作

2021-10-06 06:37:47 字數 2140 閱讀 8890

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...