C語言筆記 time h標準庫操作時間相關問題

2021-09-27 13:45:03 字數 1403 閱讀 7041

在c語言的標頭檔案time.h中,定義了日期和時間的資料型別以及函式。c語言中有兩種方式表示時間日期的值:time_t型別和struct tm型別。

以下是time.h標頭檔案的常用的時間資料型別截圖:

typedef long clock_t;

typedef _int32 _time32_t;

typedef _time32_t time_t;

struct tm ;

以下是time.h標頭檔案的常用的時間函式原型截圖:

一、

time_t __cdecl time(time_t *_time);//返回從1970-1-1,00:00:00到現在經歷的秒數
time_t是乙個long型別的值(typedef重新命名),一般不能根據其值確定具體的年、月、日等資料。但是卻可以通過time()函式獲得time_t型別的計算機系統當前的日曆時間。time()傳入乙個time_t的指標變數,該變數的內容經過運算就變位秒數。當然它也可以返回乙個相同秒數內容的值賦值給另乙個time_t型別變數,兩個變數的內容都相等。

二、

struct tm *__cdecl localtime(const time_t *_time)
將time()返回的秒數數值轉換成本地時間,同時考慮本地時區和夏令時標誌。將上面time()函式隨便乙個time_t型別變數取位址當做實參傳入該函式,然後返回乙個指向struct tm型別的結構體指標型別,接著再用指標成員運算費「->」取出 年-月-日 時:分:秒

三、

char *__cdecl asctime(const struct tm *_tm)//將結構體指標*_tm所指向的結構體轉換為字串形式

char *__cdecl ctime(const time_t *_time)//將time_t型別指標*_tm指向的日曆時間轉換為字串形式
實現效果相同:都是將時間轉換成字串形式,兩個函式等價。

兩者的區別是:asctime()函式傳入的實參是localtime()的返回值;ctime()函式傳入的引數是time()的返回值。

四、

struct tm *__cdecl gmtime(const time_t *_time)//返回的時間日期未經時區轉換,是utc時間(又稱世界時間,即格林尼治時間)
與localtime()功能相同,實參傳入time()返回的乙個struct tm型別指標,在此基礎上還需要asctime()函式將指向的結構體轉換成字串形式,然後列印輸出。

#include

#include

//定義了日期和時間的資料型別以及函式

intmain

(void

)

C語言 time h 標準庫學習總結

三 時間函式 c語言中使用時間和日期函式時,需要新增標頭檔案,clock t和time t是兩個表示時間的算數型別,struct tm用於儲存日曆時間的各個組成部分。clock t定義 ifndef clock t defined define clock t defined 避免重複定義 cloc...

c語言time h函式庫小結

一 重要的巨集 clocks per sec 每秒鐘的滴答數 clock t 滴答計數型別 time t 日曆時間的秒計數 二 重要資料型別 struct tm 年月日等得細分時間資料結構 三 全部函式 clock t clock void 返回本程式自啟動來,流逝的時鐘滴答數。double dif...

C語言標準庫

ctype.h是c標準函式庫中的標頭檔案 定義了一批c語言字元 分類函式 c character classification functions 用於測試字元是否屬於特定的字元類別,如字母字元 控制字元等等 ctype.h的c標準庫的標頭檔案中提供的宣告幾個有用的函式測試和字元對映。yiibai....