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%的速率来调整.第二个参数返回仍需调整的时间.
 
这个函数估计只有对时间要求比较高的服务器程序上才有用吧.

相关阅读:

相关推荐