前言

最近在使用C函数gettimeofday的时候,产生了一些疑惑。查阅了相关的资料,再次厘清了gettimeofday的用法,记录在此文档中,以便后续查找。

gettimeofday是什么?

gettimeofday是一个时间相关的标准C库函数。

gettimeofday能干什么?

gettimeofday能够获取到精确到微妙级的时间。

gettimeofday获取到的时间是什么?

getimeofday获取到的是自1970-01-01 00:00:00 +0000 (UTC)以来的秒数和微秒数。
注意:获取到的秒数和微秒数都是以UTC时间为基准来换算的,而不是本地时间。譬如:当前北京时间为2022-06-09 10:00:00,在计算时会先将北京时间转换成UTC时间2022-06-09 02:00:00,再去换算秒数和微秒数。

gettimeofday要怎么使用?

头文件:

#include <sys/time.h>

原型:

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

接收两个输出型参数tvtz ,返回一个int型的值。

其中 :

struct timeval {time_t      tv_sec;     /* seconds */suseconds_t tv_usec;    /* microseconds */
};
struct timezone {int tz_minuteswest;     /* minutes west of Greenwich */int tz_dsttime;         /* type of DST correction */
};

tv:自1970-01-01 00:00:00 +0000 (UTC)以来的秒数和微秒数。
tz:表示时区和夏令时信息。
注意:tz时区结构的使用是一个过时的设计,要求调用者在使用时将tz这个参数设置为NULL。
测试发现,如果不设置为NULL,取到的tz的值是{0,0}。

返回值:
0:操作成功
-1:操作失败

示例代码

#include <sys/time.h>
#include <stdio.h>int main (int argc, char** argv)
{struct timeval tv = {0};int retVal = gettimeofday(&tv, NULL);if (0 == retVal) {printf("sec:%ld,usec:%ld since 1970-01-01 00:00:00 UTC\n", tv.tv_sec, tv.tv_usec);}return 0;
}

【时间函数】gettimeofday相关推荐

  1. 浅谈时间函数gettimeofday的成本

    我们在程序中会频繁地取当前时间,例如处理一个http请求时,两次调用gettimeofday取差值计算出处理该请求消耗了多少秒.这样的调用无处不在,所以我们有必要详细了解下,gettimeofday这 ...

  2. Linux时间函数札记

    关于gmtime.gmtime_r.localtime.localtime_r 测试环境:vmware 7 + Redhat5.5,系统时间使用UTC,时区为上海. 1.函数功能介绍 使用man gm ...

  3. c语言时间等待函数linux,常用C语言time时间函数

    常见的时间函数有time( ).ctime( ).gmtime( ).localtime( ).mktime( ).asctime( ).difftime( ).gettimeofday( ).set ...

  4. linux 纪元时间转换,[转]Linux下时间函数time gettimeofday

    Linux下时间函数time & gettimeofday UNIX及Linux的时间系统是由「新纪元时间」Epoch开始计算起,单位为秒.Epoch是指定为1970年1月1日凌晨零点零分零秒 ...

  5. linux几种时间函数总结

    一.linux时间函数总结 最近的工作中用到的时间函数比较频繁,今天抽时间总结一下,在linux下,常用的获取时间的函数有如下几个:  asctime,  ctime, gmtime, localti ...

  6. C语言再学习 -- 时间函数

    在软件设计中经常会用到关于时间的处理,用来计算语句.函数的执行时间,这时就需要精确到毫秒甚至是微妙的时间.我们首先来介绍一下,时间单位: 时间单位还有:秒(s).毫秒(ms).微秒 (μs).纳秒(n ...

  7. linux时间调整为dst,Linux上系统时间函数、DST等相关有关问题总结

    Linux下系统时间函数.DST等相关问题总结 1. 内核中时间的基本类型: 在Linux内核中,常见的时间类型有以下两种:系统时间(system time)和实时时间(real time),其实,方 ...

  8. Linux C函数之时间函数

    From: http://school.cfan.com.cn/system/unix/2009-07-01/1246421513d214853.shtml 时间函数(13) 函数分类: 1. 设置时 ...

  9. linux系统时间函数,Linux时间时区详解与常用时间函数

    时间与时区 整个地球分为二十四时区,每个时区都有自己的本地时间. UTC时间 与 GMT时间 我们可以认为格林威治时间就是时间协调时间(GMT = UTC),格林威治时间和UTC时间都用秒数来计算的. ...

最新文章

  1. python导入数据画多列直方图_在python datafram中使用两列(值、计数)绘制直方图...
  2. matlab如何求指标的权向量_层次分析模型(AHP)及其MATLAB实现
  3. 实践自定义UI—RLF...(RelativeLayout LinearLayout FrameLayout....)
  4. 寄存器(CPU工作原理)04 - 零基础入门学习汇编语言09
  5. 看动画学算法系列之:后缀树suffix tree
  6. Spring 3.1和JPA的持久层
  7. 1688学python学不会_还在害怕学不会Python嘛?这篇文章让你瞬间读懂Python入门!...
  8. dhclient常用命令
  9. php利用ftp上传视频,PHP用FTP类上传文件视频等的简单实现方法
  10. BZOJ 1833: [ZJOI2010]count 数字计数
  11. mysql8 bigint类型和datetime类型的转换
  12. Ubuntu22.04运行网易云音乐错误
  13. 马克思主义哲学笔记(四)
  14. Hexo 关闭文章评论
  15. 云计算入门必备的60条术语
  16. Allegro如何添加泪滴操作指导
  17. 清点代码库 (25 分)
  18. 【NOIP2017提高A组集训10.25】摘Galo (树形dp)
  19. 数据分析实践——面试官:如果DAU下降如何归因?(以抖音为例)
  20. 蓝桥杯(python)——机器人数目

热门文章

  1. matlab-colormap-contourf函数
  2. 专家系统java编程_专家系统的Java实现
  3. XDP/BPF Github教程
  4. 最易理解的C语言教学 第一章
  5. CE-植物大战僵尸-僵尸-关卡-金币
  6. 改善内部客户服务的 3 个技巧
  7. js浏览器兼容问题总结及解决办法
  8. windows设置使mysql可以远程连接
  9. 【数字图像处理】实验一 图像的平移,缩放和旋转(vs2017+opencv)
  10. Android 9 安卓P System-as-root