gettimeofday及其相关时间函数

ぐ巨炮叔叔 提交于 2019-11-30 21:37:23

1gettimeofday函数

该函数的头文件在/usr/include/sys/time.h头文件中。

函数原型:int gettimeofday(struct timeval*tv, struct timezone *tz);

用到两个结构体: timeval  timezone

这两个结构体定义在/usr/include/linux/time.h头文件中。

 

 

 

一秒=1000000微秒

 

 

 

 函数作用:会把得到从197011000秒到现在的秒数返回到第一个参数指向的结构体中,第二个参数是关于时区,如果不考虑填入NULL

函数成功返回0,否则返回-1错误代码存于errno。

可以利用该函数来计算一个程序的运行时间,只需在程序前后调用该函数,并且后来的函数时间减去开始的函数时间就可以。注意单位的转变。

 

2、time()函数

time函数声明:time_t time(time_t *t)

头文件:<time.h>

由声明可知,这里有一个特殊类型 time_t类型 ;相当于 long int 类型。函数参数为time_t类型变量的地址。

eg:

 

 

 time函数接收time_t类型的变量地址为参数,计算返回19701100:00:00 到现在的秒数,并存储在变量中。

特殊:timeNULL);该函数会返回从1970到现在的秒数,但不保存。

 

3localtime函数

函数声明:struct tm *localtime(const time_t *timer)

由此可见:该函数接收一个time_t类型的变量地址。

该函数返回指向 tm 结构的指针,该结构带有被填充的时间信息

tm 结构体:

 

 

 该函数作用是返回指向tm结构的指针,并且按输入的秒数填写结构。

asctime函数:

该函数接收一个指向tm的指针,并且把tm结构体的内容转换格式,返回一个指向字符串的指针。

 

 

 

 

 

 strftime函数

函数声明:size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr)

该函数有四个参数,

  • str -- 这是指向目标数组的指针,用来复制产生的 C 字符串。
  • maxsize -- 这是被复制到 str 的最大字符数。
  • format -- 这是 C 字符串,包含了普通字符和特殊格式说明符的任何组合。这些格式说明符由函数替换为表示 tm 中所指定时间的相对应值
  • timeptr -- 这是由localtime函数返回的指向tm结构体的指针。

该函数的作用是,把timeptr指向的结构体内容,根据format格式转换,并且存储在str中。

 

 

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!