当前位置: 代码迷 >> 综合 >> sys/time.h 和 time.h的区别
  详细解决方案

sys/time.h 和 time.h的区别

热度:19   发布时间:2024-01-24 14:12:17.0

time.h  是ISO C99 标准日期头文件。

sys/time.h 是Linux系统的日期头文件。 

注: sys/time.h 通常会包含include "time.h"

 

一、time.h

编写的代码如果与平台无关的,则需要在代码里  #include "time.h" 但这样使用time_t等数据结构的话需要手动 

#define __need_time_t
#define __need_timespec

 

二、sys/time.h

gettimeofday() 函数在sys/time.h 内。

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

函数说明:gettimeofday()会把目前的时间用__restrict结构体返回,当地时区的信息则放到tz的结构中国。。

结构体:

1. timeval

struct timeval
{long   tv_sec;          /* 秒 */long   tv_usec;        /* 微秒 */
};

2. timezone

struct timezone{int tz_minuteswest;/* 和 greenwich 时间差来多少分钟*/int tz_dsttime;/*type of DST correction */
}

3. 在 gettimeofday()函数中tv 或者 tz 都可以为空。 如果为空就不返回其对应的结构体。

4. 函数在执行成功后返回0, 失败后返回-1, 错误代码存在于errno 中。

  相关解决方案