gettimeofday() -- 獲取當前時間

(保存在結構體timeval中)

#include <stdio.h>
#include <sys/time.h>
#include <time.h>

int main(int argc, char * argv[]){

    struct timeval tv;                //(1)
    while(1){
        gettimeofday(&tv, NULL);      //(2)
        printf("time %u:%u\n", tv.tv_sec, tv.tv_usec);
        sleep(2);
    }
    return 0;

}

(1) struct--timeval
--------------------------------------------------
struct timeval {
    time_t      tv_sec;     /* seconds */
    suseconds_t tv_usec;    /* microseconds */
};
millisecond        毫秒
microsecond        微秒

timeval表示一個時間點,比如:
timeval.tv_sec = 1   (s)
timevat.tv_usec = 500 000 (μs)
1:500 = 1s500000μs = 1.5s

(2) gettimeofday()
--------------------------------------------------
int gettimeofday(struct timeval *tv, struct timezone *tz);

    The functions gettimeofday() and settimeofday() can get and set the time as well as a timezone. 
    The use of the timezone structure is obsolete; the tz argument should normally be specified as NULL.

(3) 運行結果:
--------------------------------------------------
time 1181788367:991487
time 1181788369:991602

表示睡眠2秒經過的精確時間爲: 2s115μs

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章