前言
網站建設哪家好,找創(chuàng)新互聯(lián)!專注于網頁設計、網站建設、微信開發(fā)、小程序制作、集團企業(yè)網站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了大同免費建站歡迎大家使用!在我學的這些編程語言中,總是記不住它們的時間處理方式,每次用到時都要重新看,所以想著在這里記錄下來,也方便用到時查找,也方便有需要的朋友們參考。
time_t和struct tm
在C語言中用time_t
類型表示一個時間,通常它是一個和long
一樣長的整數(shù),也就是說,在32位環(huán)境下,它是4字節(jié),在64位環(huán)境下,它是8字節(jié)。它保存的就是一個整數(shù)值,表示了從1970-01-01 08:00:00到其所表示時間的秒數(shù),它是一個非負整數(shù),所以,time_t無法表示早于1970-01-01 08:00:00的時間。
一個很常用的函數(shù)就是time_t time(time_t *_v)
,它的參數(shù)是一個time_t
類型的指針,返回一個和傳入?yún)?shù)相等的time_t
類型值。如果time()
函數(shù)的參數(shù)是0,則返回當前的時間。
現(xiàn)在我們已經能用C語言表示一個時間了,但是這個時間只是從某個時間開始的秒數(shù),如何表示更詳細的時間細節(jié)呢?這就要用到struct tm
類型了,它可以表示更具體的時間信息。
它一個結構體,我們就先看一下它的成員信息,一個struct tm
類型包括以下成員:
int tm_year
表示時間的年份,它的值從1900年開始算起,也就是說當其值為1的時候,表示的是1901年。因為time_t
類型表示的時間范圍不早于1970年,所以這個值通常不小于70。int tm_mon
表示時間是幾月,它的值是0到11,0表示的是一月,而11表示的是12月。int tm_mday
表示時間是當前月的幾號,其值的范圍自然是根據(jù)月份不同也不相同。int tm_wday
表示時間是星期幾,它的值的范圍是0到6,0是星期天,1是星期一,6是星期六。int tm_yday
表示時間是當前年的第幾天,要注意的是1月1號是第0天。int tm_hour
表示時間是幾時。int tm_min
表示時間是幾分。int tm_sec
表示時間是幾秒。int tm_isdst
表示是否是夏令時。localtime()
如何把一個time_t
類型構造成struct tm
類型呢?用struct tm *localtime(const time_t *_v)
函數(shù)即可,注意參數(shù)和返回值都是指針類型。
#include#include int main() { time_t tt = time(0); //獲取當前時間 struct tm *pst = localtime(&tt); //把time_t類型轉換為struct tm類型 printf("The year is %d.\n", pst->tm_year + 1900); //別忘了要加1900 return 0; }
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。