新聞中心
隨著linux的崛起,使用它的機(jī)會(huì)越來(lái)越多,尤其是在與計(jì)算機(jī)操作相關(guān)的領(lǐng)域,如軟件開(kāi)發(fā)或硬件配置等。因此,熟悉Linux系統(tǒng)內(nèi)核如何打印時(shí)間的技能也不可或缺。

在Linux系統(tǒng)內(nèi)核中,使用上可以通過(guò)兩個(gè)系統(tǒng)調(diào)用完成打印當(dāng)前時(shí)間的操作:time()和clock_gettime()兩個(gè)函數(shù)。
1. 使用time()函數(shù)打印當(dāng)前時(shí)間
time()函數(shù)是C語(yǔ)言系統(tǒng)調(diào)用接口函數(shù),它通過(guò)將當(dāng)前時(shí)間從1970年1月1日至今的總秒數(shù)返回給調(diào)用者,從而實(shí)現(xiàn)打印當(dāng)前時(shí)間。
代碼如下:
#include
time_t timep;
time (&timep);
printf("TIME:%s\n",asctime(gmtime(&timep)));
輸出結(jié)果為當(dāng)前時(shí)間,如:
TIME: Sat Dec 26 10:08:17 2020
2. 使用clock_gettime()函數(shù)打印當(dāng)前時(shí)間
clock_gettime()函數(shù)是Linux內(nèi)核的系統(tǒng)調(diào)用接口函數(shù),它可通過(guò)精確的數(shù)據(jù)類(lèi)型struct timespec實(shí)現(xiàn)打印當(dāng)前時(shí)間,其API定義如下:
int clock_gettime(clockid_t which_clock, struct timespec *tp);
which_clock參數(shù)表示的是時(shí)鐘的ID,通常傳入值CLOCK_REALTIME即可;tp參數(shù)是struct timespec結(jié)構(gòu)體,其中tv_sec返回當(dāng)前時(shí)間從1970年1月1日至今的秒數(shù),tv_nsec為返回當(dāng)前時(shí)間從當(dāng)前秒數(shù)開(kāi)始到毫秒數(shù)的累積,單位為納秒。
代碼如下:
#include
struct timespec time;
clock_gettime(CLOCK_REALTIME, &time);
printf("time:%lds %ldns\n", time.tv_sec, time.tv_nsec);
輸出結(jié)果為,如:
time:1608054507s 687787324ns
總結(jié):Linux內(nèi)核下可以通過(guò)time()函數(shù)或clock_gettime()函數(shù)來(lái)打印當(dāng)前時(shí)間,前者方便快捷,而后者則可以更詳細(xì)地返回當(dāng)前時(shí)間。
成都創(chuàng)新互聯(lián)科技有限公司,是一家專(zhuān)注于互聯(lián)網(wǎng)、IDC服務(wù)、應(yīng)用軟件開(kāi)發(fā)、網(wǎng)站建設(shè)推廣的公司,為客戶(hù)提供互聯(lián)網(wǎng)基礎(chǔ)服務(wù)!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡(jiǎn)單好用,價(jià)格厚道的香港/美國(guó)云服務(wù)器和獨(dú)立服務(wù)器。創(chuàng)新互聯(lián)成都老牌IDC服務(wù)商,專(zhuān)注四川成都IDC機(jī)房服務(wù)器托管/機(jī)柜租用。為您精選優(yōu)質(zhì)idc數(shù)據(jù)中心機(jī)房租用、服務(wù)器托管、機(jī)柜租賃、大帶寬租用,可選線(xiàn)路電信、移動(dòng)、聯(lián)通等。
當(dāng)前名稱(chēng):Linux內(nèi)核下如何打印當(dāng)前時(shí)間(linux內(nèi)核打印時(shí)間)
轉(zhuǎn)載源于:http://www.dlmjj.cn/article/cooohds.html


咨詢(xún)
建站咨詢(xún)
