gettimeofday

gettimeofday(取得目前的时间)

相关函数:time,ctime,ftime,settimeofday

表头文件:#include <sys/time.h> #include <unistd.h>

定义函数:int gettimeofday(struct timeval *tv, struct timezone *tz)

函数说明:gettimeofday()会把目前的时间有tv所指的结构返回,当地时区的信息则放到tz所指的结构中。 timeval结构定义为: struct timeval{ long tv_sec; // long tv_usec; /微秒/ }; timezone结构定义为: struct timezone{ int tz_minuteswest; /和Greenwich时间差了多少分钟/ int tz_dsttime; /日光节约时间的状态/ }; 上述两个结构都定义在/usr/include/sys/time.h。tz_dsttime所代表的状态如下 DST_NONE /不使用/ DST_USA /美国/ DST_AUST /澳洲/ DST_WET /西欧/ DST_MET /中欧/ DST_EET /东欧/ DST_CAN /加拿大/ DST_GB /大不列颠/ DST_RUM /罗马尼亚/ DST_TUR /土耳其/ DST_AUSTALT /澳洲(1986年以后)/

返回值:成功则返回0,失败返回-1,错误代码存于errno。附加说明EFAULT指针tv和tz所指的内存空间超出存取权限。

范例:

#include <sys/time.h>
#include <unistd.h>
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);
}

执行: tv_sec: 974857339

tv_usec: 136996

tz_minuteswest: -540

tz_dsttime: 0