【时间函数】gettimeofday
前言
最近在使用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);
接收两个输出型参数tv和tz ,返回一个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相关推荐
- 浅谈时间函数gettimeofday的成本
我们在程序中会频繁地取当前时间,例如处理一个http请求时,两次调用gettimeofday取差值计算出处理该请求消耗了多少秒.这样的调用无处不在,所以我们有必要详细了解下,gettimeofday这 ...
- Linux时间函数札记
关于gmtime.gmtime_r.localtime.localtime_r 测试环境:vmware 7 + Redhat5.5,系统时间使用UTC,时区为上海. 1.函数功能介绍 使用man gm ...
- c语言时间等待函数linux,常用C语言time时间函数
常见的时间函数有time( ).ctime( ).gmtime( ).localtime( ).mktime( ).asctime( ).difftime( ).gettimeofday( ).set ...
- linux 纪元时间转换,[转]Linux下时间函数time gettimeofday
Linux下时间函数time & gettimeofday UNIX及Linux的时间系统是由「新纪元时间」Epoch开始计算起,单位为秒.Epoch是指定为1970年1月1日凌晨零点零分零秒 ...
- linux几种时间函数总结
一.linux时间函数总结 最近的工作中用到的时间函数比较频繁,今天抽时间总结一下,在linux下,常用的获取时间的函数有如下几个: asctime, ctime, gmtime, localti ...
- C语言再学习 -- 时间函数
在软件设计中经常会用到关于时间的处理,用来计算语句.函数的执行时间,这时就需要精确到毫秒甚至是微妙的时间.我们首先来介绍一下,时间单位: 时间单位还有:秒(s).毫秒(ms).微秒 (μs).纳秒(n ...
- linux时间调整为dst,Linux上系统时间函数、DST等相关有关问题总结
Linux下系统时间函数.DST等相关问题总结 1. 内核中时间的基本类型: 在Linux内核中,常见的时间类型有以下两种:系统时间(system time)和实时时间(real time),其实,方 ...
- Linux C函数之时间函数
From: http://school.cfan.com.cn/system/unix/2009-07-01/1246421513d214853.shtml 时间函数(13) 函数分类: 1. 设置时 ...
- linux系统时间函数,Linux时间时区详解与常用时间函数
时间与时区 整个地球分为二十四时区,每个时区都有自己的本地时间. UTC时间 与 GMT时间 我们可以认为格林威治时间就是时间协调时间(GMT = UTC),格林威治时间和UTC时间都用秒数来计算的. ...
最新文章
- python导入数据画多列直方图_在python datafram中使用两列(值、计数)绘制直方图...
- matlab如何求指标的权向量_层次分析模型(AHP)及其MATLAB实现
- 实践自定义UI—RLF...(RelativeLayout LinearLayout FrameLayout....)
- 寄存器(CPU工作原理)04 - 零基础入门学习汇编语言09
- 看动画学算法系列之:后缀树suffix tree
- Spring 3.1和JPA的持久层
- 1688学python学不会_还在害怕学不会Python嘛?这篇文章让你瞬间读懂Python入门!...
- dhclient常用命令
- php利用ftp上传视频,PHP用FTP类上传文件视频等的简单实现方法
- BZOJ 1833: [ZJOI2010]count 数字计数
- mysql8 bigint类型和datetime类型的转换
- Ubuntu22.04运行网易云音乐错误
- 马克思主义哲学笔记(四)
- Hexo 关闭文章评论
- 云计算入门必备的60条术语
- Allegro如何添加泪滴操作指导
- 清点代码库 (25 分)
- 【NOIP2017提高A组集训10.25】摘Galo (树形dp)
- 数据分析实践——面试官:如果DAU下降如何归因?(以抖音为例)
- 蓝桥杯(python)——机器人数目