分类: LINUX
2014-09-07 20:50:43
1. gettimeofday 精确到微秒级别
计时函数 int gettimeofday(struct timeval *tv,struct timezone *tz);
说明:gettimeofday将时间保 存在结构tv之中,strut timeval gives the number of seconds and microseconds since the Epoch,(00:00:00 UTC, January 1, 1970), measured in microseconds. tz(即timezone,很少用到)一般我们使用null来代替。
保存时间的结构体
strut timeval {
long tv_sec;
long tv_usec;
};
注:需要头文件#include
示例代码:
#include
#include
int main()
{
struct timeval tpstart,tpend;
double timeuse;
gettimeofday(&tpstart,NULL);
function()
gettimeofday(&tpend,NULL);
timeuse=1000000*(tpend.tv_sec-tpstart.tv_sec)+tpend.tv_usec-tpstart.tv_usec; //注意,秒的读数和微秒的读数都应计算在内
printf("used time:%fus\n",timeuse);
}
2. 显示时间
time_t time(time_t *tloc); //时间精度为秒
char *ctime(const time_t *clock); //将秒数转化为字符串
time函数返回从1970年1月1日0点以来的秒数[注意,此函数返回的时间精 度是“秒”]。存储在time_t结构之中。不过这个函数的返回值对于我们来说没有什么实际意义。这个时候我们使用第二个函数将秒数转化为字符串。 这个函数的返回类型是固定的:一个可能值为。 thu dec 7 14:58:59 2000 这个字符串的长度是固定的为26
time_t类型实际上是由typedef定义的,并不是一个新类型,对于多数系统来说,time_t就是long。
struct tm * gmtime(const time_t *timer);
gmtime()函数是将日历时间转化为世界标准时间(即格林尼治时间),并返回一个tm结构体来保存这个时间
struct tm * localtime(const time_t * timer);
localtime()函数是将日历时间转化为本地时间
示例代码:
#include
#include
int main()
{
time_t now;
now = time(NULL);
printf("%s", ctime(&now));
return 0;
}
输出:Tue Jun 26 16:29:18 2007