時間相關的東西很難分類.所以我就寫一篇好了.
一.系統時間
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%的速率來調整.第二個參數返回仍需調整的時間.
這個函數估計只有對時間要求比較高的服務器程序上才有用吧.