您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)使用C語言怎么獲取Linux系統(tǒng)中的時(shí)間,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
gettimeofday()函數(shù)的使用方法
1.函數(shù)原型
#include <sys/time.h> int gettimeofday(struct timeval *tv, struct timezone *tz);
2.說明
gettimeofday()會(huì)把目前的時(shí)間用tv 結(jié)構(gòu)體返回,當(dāng)?shù)貢r(shí)區(qū)的信息則放到tz所指的結(jié)構(gòu)中
3.結(jié)構(gòu)體
struct timeval{ long tv_sec;/*秒*/ long tv_usec;/*微妙*/ }; struct timezone{ int tz_minuteswest; /*和greenwich 時(shí)間差了多少分鐘*/ int tz_dsttime; /*DST的校正*/ }
#include <stdio.h> #include <time.h> #include <sys/time.h> #include <string.h> #define SIZE_OF_DATETIME 20 void sysUsecTime(char *pTime) { struct timeval tv; struct timezone tz; int i=0; struct tm *p; char sys_time[SIZE_OF_DATETIME+1]=""; gettimeofday(&tv, &tz); p = localtime(&tv.tv_sec); sprintf(sys_time,"%d%d%d%d%d%d%ld",1900+p->tm_year, 1+p->tm_mon, p->tm_mday, p->tm_hour, p->tm_min, p->tm_sec, tv.tv_usec); printf("strlen(sys_time)=[%d]\n",strlen(sys_time)); printf("sys_time=[%s]\n",sys_time); /* 時(shí)間最大長度為: 年 4位、 月 2位 、日 2位 、時(shí) 2位 、分 2位 、秒 2位 毫秒 6位 = 20位 */ /* 對(duì)不夠長度的末尾補(bǔ)0 */ for ( i=strlen(sys_time);i<SIZE_OF_DATETIME;i++) { sys_time[i]='0'; } sys_time[SIZE_OF_DATETIME]='\0'; strcpy(pTime,sys_time); } int main(void) { char strusecTime[SIZE_OF_DATETIME+1]; sysUsecTime(strusecTime); printf("%s\n",strusecTime); return 0; }
以上就是使用C語言怎么獲取Linux系統(tǒng)中的時(shí)間,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。