时间结构有struct timespec 和struct timeval
来源:互联网 发布:服务器数据丢失的原因 编辑:程序博客网 时间:2024/04/29 01:30
在Linux中常用的时间结构有struct timespec 和struct timeval 。
下面是两个结构的定义
struct timespec
{
__time_t tv_sec; /* Seconds. */
long tv_nsec; /* Nanoseconds. */
};
struct timeval {
time_t tv_sec;
suseconds_t tv_usec;
};
两者的区别是timespec的第二个参数是纳秒数,而timeval的第二个参数是毫秒数。
如何通过这两个结构获取系统的当前时间
struct timespec
可以通过 int clock_gettime(clockid_t clk_id, struct timespec *tp)来获取
参数 clk_id : 检索和设置的clk_id指定的时钟时间。可以设置如下:
CLOCK_REALTIME:系统实时时间,随系统实时时间改变而改变,即从UTC1970-1-1 0:0:0开始计时,如果系统时间被用户改成其他,则对应的时间相应改变
CLOCK_REALTIME_COARSE:和CLOCK_REALTIME类似,但是执行速度快,精度低
CLOCK_MONOTONIC:从系统启动这一刻起开始计时,不受系统时间被用户改变的影响
CLOCK_MONOTONIC_COARSE :和CLOCK_MONOTONIC类似,但是执行速度快,精度低
CLOCK_BOOTTIME:和 CLOCK_MONOTONIC 类似,但是包括了系统休眠的时间。
CLOCK_PROCESS_CPUTIME_ID:本进程到当前代码系统CPU花费的时间
CLOCK_THREAD_CPUTIME_ID:本线程到当前代码系统CPU花费的时间
参数:tp 返回时间值
返回值 0成功, 1失败。
例如
struct timespec ts;
clock_gettime(CLOCK_REALTIME, &ts);
struct timeval
可以通过int gettimeofday(struct timeval *tv, struct timezone *tz);来获取
参数:struct timeval *tv 将带回当前的系统时间,从UTC1970-1-1 0:0:0开始计时
struct timezone *tz 带回当前的时区信息,如果不需要刻意设置为0
timezone结构描述如下:
struct timezone
{
int tz_minuteswest; //和格林威治 时间差了多少分钟
int tz_dsttime; //日光节约时间的状态(夏时制)
};
下面是两个结构的定义
struct timespec
{
__time_t tv_sec; /* Seconds. */
long tv_nsec; /* Nanoseconds. */
};
struct timeval {
time_t tv_sec;
suseconds_t tv_usec;
};
两者的区别是timespec的第二个参数是纳秒数,而timeval的第二个参数是毫秒数。
如何通过这两个结构获取系统的当前时间
struct timespec
可以通过 int clock_gettime(clockid_t clk_id, struct timespec *tp)来获取
参数 clk_id : 检索和设置的clk_id指定的时钟时间。可以设置如下:
CLOCK_REALTIME:系统实时时间,随系统实时时间改变而改变,即从UTC1970-1-1 0:0:0开始计时,如果系统时间被用户改成其他,则对应的时间相应改变
CLOCK_REALTIME_COARSE:和CLOCK_REALTIME类似,但是执行速度快,精度低
CLOCK_MONOTONIC:从系统启动这一刻起开始计时,不受系统时间被用户改变的影响
CLOCK_MONOTONIC_COARSE :和CLOCK_MONOTONIC类似,但是执行速度快,精度低
CLOCK_BOOTTIME:和 CLOCK_MONOTONIC 类似,但是包括了系统休眠的时间。
CLOCK_PROCESS_CPUTIME_ID:本进程到当前代码系统CPU花费的时间
CLOCK_THREAD_CPUTIME_ID:本线程到当前代码系统CPU花费的时间
参数:tp 返回时间值
返回值 0成功, 1失败。
例如
struct timespec ts;
clock_gettime(CLOCK_REALTIME, &ts);
struct timeval
可以通过int gettimeofday(struct timeval *tv, struct timezone *tz);来获取
参数:struct timeval *tv 将带回当前的系统时间,从UTC1970-1-1 0:0:0开始计时
struct timezone *tz 带回当前的时区信息,如果不需要刻意设置为0
timezone结构描述如下:
struct timezone
{
int tz_minuteswest; //和格林威治 时间差了多少分钟
int tz_dsttime; //日光节约时间的状态(夏时制)
};
0 0
- 时间结构有struct timespec 和struct timeval
- struct timeval 和 struct timespec
- struct timeval 和 struct timespec
- struct timeval 和 struct timespec
- struct timeval 和 struct timespec
- struct timespec 和 struct timeval
- struct timespec 和 struct timeval
- struct timeval 和 struct timespec
- struct timespec 和 struct timeval
- struct timespec 和 struct timeval
- struct timespec 和 struct timeval
- struct timespec 和 struct timeval
- struct timespec 和 struct timeval
- Linux中常用的时间结构struct timespec 和struct timeval
- struct timeval 和 struct timespec clock_gettime( )
- linux下与时间相关的结构体 struct timeb,struct timeval ,struct timezone,struct timespec,struct tm 等
- 系统时间struct timespec 与 struct timeval 的区别
- linux下与实践相关的结构体 struct timeb,struct timeval ,struct timezone,struct timespec,struct tm 等
- 蓝桥杯 算法训练 FBI树
- [Leetcode] Next Permutation
- Go 语言读写 Excel
- java程序,tomcat启动很慢(300秒+)的处理方法
- apktool反编译问题总结
- 时间结构有struct timespec 和struct timeval
- webkit网页渲染过程
- 使用nssm在windows服务器上部署nodejs遇到的一个小问题
- 数据库维护计划中出现错误,数据库无法自动备份。 错误提示:作业失败。所有者(XXX\administrator用户拥有DB维护计划“数据库备份”作业)没有服务器访问权限。
- 求逆序对数
- 文章标题
- ThinkPHP模板判断输出Empty标签用法详解
- 正则表达式
- 匿名内部类总结