日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

C语言linux gettimeofday()函数和time()函数的区别(后者只能得到秒级系统时间,前者能得到毫秒甚至微秒级系统时间)

發布時間:2025/3/20 linux 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言linux gettimeofday()函数和time()函数的区别(后者只能得到秒级系统时间,前者能得到毫秒甚至微秒级系统时间) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

UNIX及Linux的時間系統是由「新紀元時間」Epoch開始計算起,單位為秒。Epoch是指定為1970年1月1日凌晨零點零分零秒,格林威治時間。目前大部份的UNIX系統都是用32位來記錄時間,正值表示為1970以后,負值則表示1970年以前。下面看下time.h中的time函數,sys/time.h中的gettimeofday函數

#include<time.h> #include<sys/time.h> #include<stdio.h> int main(){time_t tt;struct timeval tv;tt=time(NULL);gettimeofday(&tv,NULL);printf("time_t sec is %ld\n",tt);printf("gettimeofday tv_sec is %ld, usec is %ld \n",tv.tv_sec,tv.tv_usec); }

在linux ubuntu虛擬機上編譯運行:

time_t sec is 1638791279 gettimeofday tv_sec is 1638791279, usec is 408521

PS: time 與 gettimeofday 兩個函數得到的都是從Epoch開始到當前的秒數(tt=tv.tv_sec),而后者還能得到更精細的微秒級結果,即tv_sec*(10^6)+tv_usec為從Epoch開始到當前的微秒數

參考文章1:gettimeofday()和time()的區別

參考文章2:C語言如何獲得精確到毫秒的時間

總結

以上是生活随笔為你收集整理的C语言linux gettimeofday()函数和time()函数的区别(后者只能得到秒级系统时间,前者能得到毫秒甚至微秒级系统时间)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。