gettimeofday()函數(shù)的使用方法:
1.簡介:在C語言中可以使用函數(shù)gettimeofday()函數(shù)來得到時(shí)間。它的精度可以達(dá)到微妙
2.函數(shù)原型:#include<sys/time.h>
int gettimeofday(struct timeval*tv,struct timezone *tz )
3.說明:gettimeofday()會(huì)把目前的時(shí)間用tv 結(jié)構(gòu)體返回,當(dāng)?shù)貢r(shí)區(qū)的信息則放到tz所指的結(jié)構(gòu)中
4.結(jié)構(gòu)體:1>timeval
struct timeval{
long tv_sec;/*秒*/
long tv_usec;/*微妙*/
};
2>timezone 結(jié)構(gòu)定義為:
struct timezone{
int tz_minuteswest;/*和greenwich 時(shí)間差了多少分鐘*/
int tz_dsttime;/*type of DST correction*/
}
3>在gettimeofday()函數(shù)中tv或者tz都可以為空。如果為空則就不返回其對應(yīng)的結(jié)構(gòu)體。
4>函數(shù)執(zhí)行成功后返回0,失敗后返回-1,錯(cuò)誤代碼存于errno中。
5.程序?qū)嵗?p style="font-size: 13px; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 10px; text-indent: 0px;">#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()函數(shù)時(shí),第二個(gè)參數(shù)一般都為空,因?yàn)槲覀円话愣贾皇菫榱双@得當(dāng)前時(shí)間,而不用獲得timezone的數(shù)值