一、重要的巨集:
clocks_per_sec:每秒鐘的滴答數
clock_t:滴答計數型別
time_t:日曆時間的秒計數
二、重要資料型別:
struct tm:年月日等得細分時間資料結構
三、全部函式:
clock_t clock( void );
返回本程式自啟動來,流逝的時鐘滴答數。
double difftime( time_t timer1,time_t timer0 );
返回兩個日曆時間之差timer1-timer0;
time_t time( time_t *timer );
返回自2023年1月
1日0辰以來流逝的秒數,出錯返回-1;
如果,timer
不為空,則同時將返回值賦給
timer
指向的變數。
time_t mktime(struct tm *timeptr );
將由年月日時分秒等構成的細分時間轉換為流逝秒數構成的日曆時間。
struct tm *localtime(const time_t *timer);
將日曆時間轉換為本地細分時間
struct tm *gmtime( const time_t *timer);
將日曆時間轉換為utc(世界協調時間)的細分時間
(注意: localtime
與gmtime
,前者比後者多
8個小時)
char *asctime( const struct tm *timeptr );
將細分時間轉換為簡寫字串
char *ctime( const time_t *timer );
將日曆時間轉換為簡寫字串
size_t strftime(char *strdest, size_t maxsize, const char *format, const struct tm *timeptr );
將細分時間按format
的格式要求格式化到
strdest
指向的緩衝區
重要函式關係圖:
struct tm
;
struct tm*
gmtime
(const time_t*
timer);
//從日曆時間time_t到分解時間tm的轉換。函式返回的是乙個靜態分配的tm結構儲存空間,該儲存空間被gmtime,localtime與ctime函式所共用. 這些函式的每一次呼叫會覆蓋這塊tm結構儲存空間的內容。
struct tm*
gmtime_r
(const time_t*
timer
, struct tm*
result
); //
該函式是gmtime函式的執行緒安全版本
struct tm*
localtime
(const time_t*
timer
); //從日曆時間time_t到分解時間tm的轉換,即結果資料已經調整到本地時區與夏令時。
time_t
mktime
(struct tm*
ptm); //從分解時間tm到日曆時間time_t的轉換。
time_t
timegm
(struct tm*
brokentime
); //從分解時間tm(被視作utc時間,不考慮本地時區設定)到日曆時間time_t的轉換。該函式較少被使用。
double
difftime
(time_t
timer2
, time_t
timer1
); //比較兩個日曆時間,返回double型別的秒數差。似乎用處不大,time_t可以直接相減
以下是幾個把日期資料按常用格式輸出的函式:
char *
asctime
(const struct tm*
tmptr
); //把分解時間tm輸出到字串,結果的格式為"www mmm dd hh:mm:ss yyyy",即「週幾 月份數 日數 小時數:分鐘數:秒鐘數 年份數」。函式返回的字串為靜態分配,長度不大於26,與ctime函式共用。函式的每次呼叫將覆蓋該字串內容。
char*
ctime
(const time_t*
timer
); //把日曆時間time_t timer輸出到字串,輸出格式與asctime函式一樣。
size_t
strftime
(char*
s, size_t
n, const char*
format
, const struct tm*
tptr
); //把分解時間tm轉換為自定義格式的字串,類似於常見的字串格式輸出函式sprintf。
char *
strptime
(const char*
buf, const char*
format
, struct tm*
tptr
); //strftime的逆操作,把字串按照自定義的格式轉換為分解時間tm。恩恩……這個函式還是比較有意思的。
C語言函式庫
從今天開始,慢慢的寫全c語言函式庫的函式使用 1.函式名 atoi 功 能 把字串轉換成長整型數 用 法 int atoi const char nptr 需要傳進乙個char型別的指標 程式例 include include int main void 2.abort 功 能 異常終止乙個程序 用...
C語言函式庫和檔案
乙個函式設計完後,我們可以用三種方法處理它 1 把它放在main 函式的同乙個檔案中 2 把它和寫好的其它函式一起放在另乙個檔案中 3 把它放在函式庫中。下面分別討論這三種方法。程式檔案的大小 因為c語言允許分別編譯,很自然就會提出這樣的問題 乙個檔案的最適宜的規模是多大?這規模很重要,因為編譯時間...
C語言 time h 標準庫學習總結
三 時間函式 c語言中使用時間和日期函式時,需要新增標頭檔案,clock t和time t是兩個表示時間的算數型別,struct tm用於儲存日曆時間的各個組成部分。clock t定義 ifndef clock t defined define clock t defined 避免重複定義 cloc...