Linux 時間函式之 gettimeofday() 函式之使用方法
阿新 • • 發佈:2019-02-05
一.gettimeofday() 函式的使用方法:
1.簡介:
在 C 語言中可以使用函式 gettimeofday() 函式來得到時間。它的精度可以達到微妙
2.函式原型:
#include<sys/time.h>
int gettimeofday(struct timeval* tv, struct timezone* tz)
3.說明:
gettimeofday() 會把目前的時間用 tv 結構體返回,當地時區的資訊則放到 tz 所指的結構中
4.結構體:
3>在 gettimeofday() 函式中 tv 或者 tz 都可以為空。如果為空則就不返回其對應的結構體。struct timeval{ long tv_sec; // 秒 long tv_usec; // 微妙 }; struct timezone{ int tz_minuteswest; // 和 greenwich 時間差了多少分鐘 int tz_dsttime; // type of DST correction }
4>函式執行成功後返回 0,失敗後返回 -1,錯誤程式碼存於 errno 中。
5.程式例項:
說明:在使用 gettimeofday() 函式時,第二個引數一般都為空,#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); }
因為我們一般都只是為了獲得當前時間,而不用獲得 timezone 的數值