3724 unix紀元 標準庫時間函式的應用

2021-06-03 05:15:21 字數 1425 閱讀 8896

i』m a programmer,damnit. i don』t write code. 

——the anti-programming programmer

在一些簡單的題目中經常有一些進行時間轉化的題目,如3724:unix紀元,當然可以自己寫**進行轉換,也可以時候標準c的相關的一些庫函式。

time_t 和 time

typedef ... time_t;

time_t time(time_t *tptr);

標準c的time函式返回乙個用time_t型別(time_t可以是任何算術型別)的值封裝的當前日曆時間。如果形參*tptr不是null指標,返回值將儲存在*tptr中;如果遇到錯誤則返回-1**換為time_t型別)。

一般情況下,time所返回的值被傳遞給asctime或ctime函式,轉換為一種可讀的格式;或者傳遞給localtime或gtime函式,轉換為一種更容易處理的格式。

tm 、gmtime 、localtime 和 mktime

struct tm ;

struct tm *gmtime(const time_t *t);

struct tm *localtime(const time_t *t);

time_t mktime(struct tm *tmptr);

gmtime和localtime函式把time函式所返回的算術日曆時間轉換為一種struct tm型別的「分解」形式;其中gmtime轉換為格林威治時間(gmt),而loacltime轉換為本地時間,並考慮了時區、夏令時等因素。如果遇到錯誤兩者都返回乙個null指標。

mktime函式在tmptr引數所指定的分解形式的本地時間的基礎上構建乙個time_t型別的值。tmptr->wday和tmptr->yday的值被mktime所忽略。如果呼叫成功,mktime返回乙個新的時間值,並調整*tmptr的內容,設定它的tmptr->wday和

tmptr->yday成員;如果指定的日曆時間無法用time_t型別的值表示則返回-1**化為time_t)。

asctime 和 ctime

char *asctime(const struct tm *ts)

char *ctime(const time_t *timptr);

asctime 和 ctime函式都返回乙個指向字串的指標,表示乙個可列印的日期和時間,形式如下:

「fri jan 13 16:25:27 2012\n」

那麼,實現3724:unix紀元就比較容易了,**如下:

#include #include int main()

}

Unix學習筆記 標準I O庫

流和file物件 對於標準i o庫,他們的操作時圍繞流進行的,當標準i o庫開啟或者建立乙個檔案時,我們使用乙個流和乙個檔案相關聯 對於ascii字符集,乙個字元用乙個位元組表示,對於標準字付集,乙個字元可用多個位元組表示。標準i o檔案流可用於單位元組或多位元組集。流的定向決定了讀 寫的字元是單位...

Unix學習筆記 標準I O庫

流和file物件 對於標準i o庫,他們的操作時圍繞流進行的,當標準i o庫開啟或者建立乙個檔案時,我們使用乙個流和乙個檔案相關聯 對於ascii字符集,乙個字元用乙個位元組表示,對於標準字付集,乙個字元可用多個位元組表示。標準i o檔案流可用於單位元組或多位元組集。流的定向決定了讀 寫的字元是單位...

python標準庫 時間庫

眾所皆知,每乙個程式語言都有自己的時間類庫,python也不例外用法十分簡單 最基本的類,time類 time基本函式介紹 import time print time.asctime 如果未傳入乙個tuple或乙個time struct就是使用當前的時間,返回乙個24字長的時間字串 就這個mon ...