本文共 540 字,大约阅读时间需要 1 分钟。
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 %d\n",tt); printf("gettimeofday tv_sec is %d, usec is %d \n",tv.tv_sec,tv.tv_usec);}
time 与 gettimeofday 两个函数得到的都是从Epoch开始到当前的秒数(tt=tv.tv_sec),而gettimeofday 还能得到更精细的微秒级结果,即tv_sec*(10^6)+tv_usec为从Epoch开始到当前的微秒数。转载地址:http://wpoci.baihongyu.com/