记录一下,获取当前的时间的秒数和微秒数本方法需要用到gettimeofday()函数,引入的头文件 sys/time.h 。
int gettimeofday (struct timeval * tv, struct timezone * tz)
返回值:该函数成功时返回0,失败时返回-1
参数
struct timeval{
long tv_sec; //秒
long tv_usec; //微秒
};
struct timezone
{
int tz_minuteswest; //和Greenwich 时间差了多少分钟
int tz_dsttime; //日光节约时间的状态
};
int set
time
ofday
(const struct
time
val *tv, const struct
time
zone *tz);
函数
说明:set
time
ofday
()会把目前时间设成由tv 所指的结构信息,当地时区信息则设成tz 所指的结构。详细的说明请参考get
time
ofday
()。
注意,在
Linux
下,只有root 权限才能使用此
函数
修改时间。
返回值:成功则返回0,失败返回-1,错误代码存于errno
使用
Linux
的get
time
ofday
函数
可以达到获取精确到
毫秒
级的时间,其中t1=t_start.tv_sec是公元1970年至今的时间(换算为秒),t2=t_start.tv_usec是当前秒数下的
微秒
,所以将t1*1000+t2/1000可以得到当前的
毫秒
数。get
time
ofday
()
函数
原型及相关数据结构:int get
time
ofday
(struct
time
val *tv, str...
函数
来获取当前的 Unix 时间戳。时间戳是从 1970 年 1 月 1 日(UTC)开始计算的秒数。
函数
返回的时间戳是以秒为单位的。如果需要更精确的时间,可以使用。此外,还有许多其他方法可以
获取当前时间
,比如使用系统调用。具体方法取决于你的需求和系统平台。下面是一个例子,展示了如何使用。在 C 语言中,可以使用。
函数
获取当前的时钟时间。
在
Linux
下计算某个程序段执行的时间一般使用get
time
ofday
函数
,此
函数
的声明在sys/
time
.h文件中。此
函数
接收两个结构体参数,分别为
time
val、
time
zone.
两个结构体的声明如下:
struct
time
val {
time
_t tv_sec; /* seconds */
long tv_usec; /* microseconds */
struct
time
zone {
int tz_minuteswest;
int tz_dst
time
;
一般通过get
time
ofday
函数
获得当前时间时,第二个
转自:http://blog.jeoygin.org/2012/03/c-get-
time
-millisecond.html
在做测试或性能优化时,经常要知道程序运行的时间,在
Linux
系统可以使用
time
命令来计算程序运行运行所消耗的时间,能精确到
毫秒
,如果要精 确到代码块或某个操作运行时所消耗的时间,
time
命令就不给力了。如果对时间的精度要求不高的话,可以调用标准C的接口
time
来得到开始...
get
time
ofday
使用C语言编写程序需要获得当前精确时间(1970年1月1日到现在的时间),或者为执行计时,可以使用get
time
ofday
()
函数
。
函数
原型:
int get
time
ofday
(struct
time
val*tv, struct
time
zone *tz);
所需头文件:
#include
其参数tv是保存获取
获取当前的时间的秒数和
微秒
数本方法需要用到get
time
ofday
()
函数
,该
函数
需要引入的头文件是 #include<iostream>
#include <stdlib.h>
#include <stdio.h>
#include <sys/
time
.h>
#include <unistd.h>int main(){
struct
time
val tv;
get
time
ofday