#include <iostream>
#include <ctime>
#include <sys/time.h>
#include <thread> // std::this_thread::sleep_for
#include <chrono>
int main001()
{
std::time_t t = std::time(0); // t is an integer type
std::cout << t << " seconds since 01-Jan-1970\n";
return 0;
}
int main002()
{
unsigned long int sec1 = time(NULL);
time_t sec2 = time(NULL); // 这里的time_t不是std:time_t
std::cout << sec1 << std::endl;
std::cout << sec2 << std::endl;
return 0;
}
// C/C++获取时间戳和计算时间差
int main003()
{
std::chrono::milliseconds ms = std::chrono::duration_cast< std::chrono::milliseconds >(std::chrono::system_clock::now().time_since_epoch());
long start= ms.count();
std::cout << ms.count() << std::endl;
std::cout << "start="<<start << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(1));
std::this_thread::sleep_for(std::chrono::milliseconds(10));
ms = std::chrono::duration_cast< std::chrono::milliseconds >(std::chrono::system_clock::now().time_since_epoch());
long end= ms.count();
std::cout << "end="<<end << std::endl;
std::cout << "cha="<<end-start<<" ms"<< std::endl;
return 0;
}
struct timezone tz;
long getNowTime()
{
struct timeval tp;
gettimeofday(&tp, &tz);
long int ms = tp.tv_sec * 1000 + tp.tv_usec / 1000;
return ms;
}
int main004()
{
long start =getNowTime();
std::cout << "start2="<<start << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(1));
long end =getNowTime();
std::cout << "end2="<<end << std::endl;
std::cout << "cha2="<<end-start<<" ms"<< std::endl;
return 0;
}
int main()
{
std::chrono::nanoseconds ms = std::chrono::duration_cast< std::chrono::nanoseconds >(std::chrono::system_clock::now().time_since_epoch());
long start= ms.count();
std::cout << ms.count() << std::endl;
std::cout << "start="<<start << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(1));
//std::this_thread::sleep_for(std::chrono::nanoseconds(10));
ms = std::chrono::duration_cast< std::chrono::nanoseconds >(std::chrono::system_clock::now().time_since_epoch());
long end= ms.count();
std::cout << "end="<<end << std::endl;
long cha=end-start;
std::cout << "cha="<<cha/1000/1000<<" ms, cha2="<<cha/1000<<" us" << std::endl;
return 0;
}
C/C++获取时间戳和计算时间差
猜你喜欢
转载自blog.csdn.net/earbao/article/details/98083564
今日推荐
周排行