linux 下的时间函数
程序员文章站
2022-03-01 15:11:08
...
介绍下linux下的时间函数:
clock_gettime可以精确到微秒,对应的头文件是 time.h
CLOCK_MONOTONIC:表示从系统启动到现在的时间,注意是系统启动到现在的时间,系统启动可以理解为你的电脑的开机时间。
CLOCK_REALTIME:当前电脑显示的时间距离1970年1月1日的时间.
对应的时间结构体,由秒和纳秒组成.
struct timespec {
__kernel_time_t tv_sec;
long tv_nsec;
};
//时间操作方面的基础
#include <stdint.h>
#include <time.h>
#include <iostream>
//linux下的时间函数
int main(int argc,char** argv){
struct timespec ts;
clock_gettime(CLOCK_MONOTONIC, &ts);
std::cout << "sec:" << ts.tv_sec << " nasec:" << ts.tv_nsec << std::endl;
return 0;
}
然后我们再来看看gettimeofday,对应的头文件是 sys/time.h,时间可以精确到微秒.
对应的时间结构体是:
秒和微秒
struct timeval
{
__time_t tv_sec; /* Seconds. */
__suseconds_t tv_usec; /* Microseconds. */
};
//距离1907年1月1日的时间
clock_gettime(CLOCK_REALTIME,&ts);
std::cout << "sec:" << ts.tv_sec << " nasec:" << ts.tv_nsec << std::endl;
//距离1907年1月1日的时间
struct timeval tv;
gettimeofday(&tv,NULL);
std::cout << "gettimeofday sec:" << tv.tv_sec << " nasec:" << tv.tv_usec << std::endl;
打印发现,这2个的时间其实是非常接近的,主要是精确度的差别,一个是精确到纳秒,一个是精确到微秒而已.
第二个是:
clock_gettime(CLOCK_REALTIME,&ts);的结果
第三个是:
gettimeofday(&tv,NULL);的结果,jiegu
大家可以看下,它们的秒是一样的。
推荐阅读
-
使用Eclipse编译c程序 数学函数提示undefined reference to “XXX”的解决方法 博客分类: Linux eclipseLinux eclipsegcc
-
PHPExcel在linux环境下导出报500错误的解决方法
-
Linux 下zip包的压缩与解压 博客分类: Linux linuxzipunziptargz
-
在win下打造linux环境: cygwin的安装和简单配置 LinuxSSHvimGCCBash
-
asp.net下日期和时间处理的类库
-
php把时间戳转换成多少时间之前函数的实例
-
Linux下从原文件到可执行文件的过程
-
在虚拟机下安装Linux操作系统遇到的问题 博客分类: 操作系统 redhat操作系统
-
linux环境下python中MySQLdb模块的安装方法
-
linux 下查看系统内存使用情况的方法 freelinux内存