歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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%的速率來調整.第二個參數返回仍需調整的時間.
 
這個函數估計只有對時間要求比較高的服務器程序上才有用吧.

Copyright © Linux教程網 All Rights Reserved