C语言关于时间转换的函数在头文件
<time.h>
和<sys/timeb.h>
中,其中<time.h>
中包含了各种操作时间和日期的函数,<sys/timeb.h>
中包换结构体timeb,可以用来获取ms级别的时间
获取时间间隔
可利用
<sys/timeb.h>
头文件中的两个结构体获取ms级的执行时间, 统计程序的时间复杂度
struct timeb {
time_t time; // 1970-01-01 00:00:00 UTC 起经过的时间,以秒为单位
unsigned short millitm; // 额外的毫秒数==微秒
short timezone; // 时区
short dstflag; // 使用夏令时 该值为非零
};
#include <iostream>
#include <sys/timeb.h>
using namespace std;
int main()
{
struct timeb tmStart,tmEnd;
ftime(&tmStart); // 开始计时
for(int i = 0; i < 65535; ++i);
ftime(&tmEnd); // 结束计数
// 得到ms级别时间间隔
int releasedTime = (tmEnd.time-tmStart.time)*1000 + (tmEnd.millitm-tmStart.millitm);
cout << "程序运行时间为 " << releasdTime << endl;
return 0;
}
// 利用c++11的chrono库求时间间隔
long fibonacci(unsigned n)
{
if (n < 2) return n;
return fibonacci(n