1. 程式人生 > >Linux 時間函式之 gettimeofday() 函式之使用方法

Linux 時間函式之 gettimeofday() 函式之使用方法

一.gettimeofday() 函式的使用方法:

1.簡介:

在 C 語言中可以使用函式 gettimeofday() 函式來得到時間。它的精度可以達到微妙

2.函式原型:

#include<sys/time.h>
int gettimeofday(struct timeval* tv, struct timezone* tz)
3.說明:

gettimeofday() 會把目前的時間用 tv 結構體返回,當地時區的資訊則放到 tz 所指的結構中

4.結構體:

struct timeval{
    long tv_sec; // 秒
    long  tv_usec; // 微妙
};
struct timezone{
    int tz_minuteswest; // 和 greenwich 時間差了多少分鐘
    int tz_dsttime; // type of DST correction
}
3>在 gettimeofday() 函式中 tv 或者 tz 都可以為空。如果為空則就不返回其對應的結構體。

4>函式執行成功後返回 0,失敗後返回 -1,錯誤程式碼存於 errno 中。

5.程式例項:

#include <stdio.h>
#include <sys/time.h>
#include <unistd.h>
int main() {
    struct timeval tv;
    struct timezone tz;
    gettimeofday(&tv,&tz);
    printf(“tv_sec: %d\n”, tv.tv_sec);
    printf(“tv_usec: %d\n”, tv.tv_usec);
    printf(“tz_minuteswest: %d\n”, tz.tz_minuteswest);
    printf(“tz_dsttime: %d\n”, tz.tz_dsttime);
}
說明:在使用 gettimeofday() 函式時,第二個引數一般都為空,

因為我們一般都只是為了獲得當前時間,而不用獲得 timezone 的數值