Linux编程---时间相关
时间相关的东西很难分类.所以我就写一篇好了.
一.系统时间
1.time函数
time_t time(time_t *tloc);
double difftime(time_t time1,time_t timeo);
time返回系统自1970年1月1日以来,经历了多少秒的时间.同时可以通过返回值和参数来得到.
difftime则返回两个参数的时间之差.并且结果是作为双精度浮点数返回.
2.gettimeofday函数
int gettimeofday(struct timeval *restrict tp,void *restrict tzp);
int settimeofday(const struct timeval * tp,const void *tzp);
int adjtime(const struct timeval *delta,struct timeval *olddelta);
这里都是指的从1970年1月1日到现在的时间.
并且三个函数都用到了struct timeval结构体.我就说一下.
struct timeval{
time_t tv_sec; 这个表示秒
SUSEconds_t tv_usec 这个表示微秒
}
头两个函数的第二个参数一定要写NULL.不然在Linux下会报错.
最后一个函数比较有趣,它是用来把系统时钟调快或者调慢.
简单来说,如果参数delta是正,那么加快系统时钟的步伐.为负则减慢时钟的步伐.通常以1%的速率来调整.第二个参数返回仍需调整的时间.
这个函数估计只有对时间要求比较高的服务器程序上才有用吧.
相关阅读: