真实时间与时间间隔-gettimeofday,
来源:互联网 发布:数控车床螺纹编程g92 编辑:程序博客网 时间:2024/06/06 03:28
使用C语言编写程序需要获得当前精确时间(1970年1月1日到现在的时间),或者为执行计时,可以使用gettimeofday()函数。
#include <sys/time.h>
int gettimeofday(struct timeval*tv, struct timezone *tz);
其参数tv是保存获取时间结果的结构体,参数tz用于保存时区结果:
timezone 结构定义:
struct timezone{
int tz_minuteswest;/*格林威治时间往西方的时差*/
int tz_dsttime;/*DST 时间的修正方式*/
}
DST_NONE :不使用
DST_USA :美国
DST_AUST :澳洲
DST_WET :西欧
DST_MET :中欧
DST_EET :东欧
DST_CAN :加拿大
DST_GB :大不列颠
DST_RUM :罗马尼亚
DST_TUR :土耳其
DST_AUSTALT :澳洲(1986年以后)
timezone 参数若不使用则传入NULL即可。
而结构体timeval的定义为:
struct timeval{
long int tv_sec; // 秒数
long int tv_usec; // 微秒数
}
它获得的时间精确到微秒(10的6次方)量级。在一段代码前后分别使用gettimeofday可以计算代码执行时间:
上述两个结构都定义在/usr/include/sys/time.h
//
struct timeval tv_begin, tv_end;
gettimeofday(&tv_begin, NULL);
foo();
gettimeofday(&tv_end, NULL);
////////////////////////////////////////////////////////
一下是获取真实时间
GetTime(struct tm *lptime)
{
time_t lTime;
time(&lTime);//获取秒数-从19700101 000000开始
struct tm tf;
localtime_r(&lTime, &tf);
lpTime->wYear = tf.tm_year+1900;
lpTime->wMonth = tf.tm_mon+1;
lpTime->wDayOfWeek= tf.tm_wday;
lpTime->wDay = tf.tm_mday;
lpTime->wHour = tf.tm_hour;
lpTime->wMinute = tf.tm_min;
lpTime->wSecond = tf.tm_sec;
lpTime->wMilliseconds = 0;
time(&lTime);//获取秒数-从19700101 000000开始
struct tm tf;
localtime_r(&lTime, &tf);
lpTime->wYear = tf.tm_year+1900;
lpTime->wMonth = tf.tm_mon+1;
lpTime->wDayOfWeek= tf.tm_wday;
lpTime->wDay = tf.tm_mday;
lpTime->wHour = tf.tm_hour;
lpTime->wMinute = tf.tm_min;
lpTime->wSecond = tf.tm_sec;
lpTime->wMilliseconds = 0;
}
0 0
- 真实时间与时间间隔-gettimeofday,
- gettimeofday时间
- 时间间隔
- 时间间隔
- 时间间隔
- 时间间隔
- gettimeofday() -- 获取当前时间
- gettimeofday() -- 获取当前时间
- 时间函数gettimeofday()
- 谈谈时间函数gettimeofday
- Linux毫秒时间gettimeofday
- linux墙上时间xtime与高精度时钟gettimeofday
- 时间戳的换算与间隔
- 时间间隔: SystemClock.uptimeMillis与System.currentTimeMillis
- 时间间隔: SystemClock.uptimeMillis与System.currentTimeMillis
- 时间间隔: SystemClock.uptimeMillis与System.currentTimeMillis
- nagios监控与报警时间间隔
- 时间间隔: SystemClock.uptimeMillis与System.currentTimeMillis
- ios--判断当前输入法类型UITextInputMode
- 二、关于submit插件emmet不能用
- protobuf简介
- c# xml操作类 比较齐全
- 利用DHT网络原理制作bt采集蜘蛛
- 真实时间与时间间隔-gettimeofday,
- jQuery源码分析系列(版本2.0.3)
- SVN 如何提交 SO 库文件
- 使用SignTool对软件安装包进行数字签名
- NPOJ 1069 小学生作业
- stm32进入停止模式,中断 唤醒
- qt.conf 配置范例
- 在 Windows 操作系统中的公认的安全标识符
- Java IO流 将字节流转换成字符流在转换成缓冲流