您的位置:首页 > 编程语言

跟踪代码执行时间,获取时间函数localtime

2019-08-02 18:57 1336 查看

​  在代码开发过程中,有时执行效率会比较低,这个时候需要跟踪代码的执行时间,把代码的执行时间输出,需要用到time()和localtime()函数,下面讲一下这两个函数的用法以及示例。

用法

​   time_t time(time_t *seconds)

描述

​  返回自1970-01-01 00:00:00 UTC起经过的时间,以秒为单位。如果 seconds 不为空,则返回值也存储在变量 seconds 中。

参数

​   seconds -- 这是指向类型为 time_t 的对象的指针,用来存储 seconds 的值。

​   struct tm *localtime(const time_t *seconds)

描述

​   使用 seconds的值来填充 tm 结构。timer 的值被分解为 tm 结构,并用本地时区表示。

参数

​  seconds-- 这是指向表示日历时间的 time_t 值的指针。

返回值

​  该函数返回指向struct tm结构的指针,该结构体为时间信息,具体格式如下:

struct tm {
int tm_sec;         /* 秒,范围从 0 到 59                 */
int tm_min;         /* 分,范围从 0 到 59                 */
int tm_hour;        /* 小时,范围从 0 到 23               */
int tm_mday;        /* 一月中的第几天,范围从 1 到 31       */
int tm_mon;         /* 月份,范围从 0 到 11               */
int tm_year;        /* 自 1900 起的年数                   */
int tm_wday;        /* 一周中的第几天,范围从 0 到 6        */
int tm_yday;        /* 一年中的第几天,范围从 0 到 365      */
int tm_isdst;       /* 夏令时                            */
};
示例
/********localtime.c*******/
#include <stdio.h>
#include <time.h>
#include <unistd.h>

int main(int argc, char *argv)
{
time_t seconds;
struct tm *local_time;

time(&seconds);
local_time = localtime(&seconds);

printf("first current time is %02d:%02d:%02d\r\n", local_time->tm_hour, local_time->tm_min, local_time->tm_sec);

sleep(5);

time(&seconds);
local_time = localtime(&seconds);
printf("second current time is %02d:%02d:%02d\r\n", local_time->tm_hour, local_time->tm_min, local_time->tm_sec);

return 0;
}
#Makefile
localtime: localtime.o
cc -o localtime localtime.o

localtime.o: localtime.c
cc -c localtime.c

clean:
rm localtime localtime.o

结果:

[root@top localtime]$make
cc -c localtime.c
cc -o localtime localtime.o
[root@top localtime]$./localtime
first current time is 18:15:04
second current time is 18:15:09
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  CStruct