c++11 日期和时间库 chrono
包含头文件
#include <chrono>
-
函数
static std::chrono::time_point<std::chrono::steady_clock> now() noexcept; (since C++11)
-
参数
null -
返回值
A time point representing the current time. (表示当前时间的时间点。) -
示例
#include <iostream>
#include <iomanip>
#include <vector>
#include <numeric>
#include <chrono>
volatile int sink;
int main()
{
std::cout << std::fixed << std::setprecision(9) << std::left;
for (auto size = 1ull; size < 1000'000'000ull; size *= 100) {
// record start time
auto start = std::chrono::steady_clock::now();
// do some work
std::vector<int> v(size, 42);
sink = std::accumulate(v.begin(), v.end(), 0u); // make sure it's a side effect
// record end time
auto end = std::chrono::steady_clock::now();
std::chrono::duration<double> diff = end - start;
std::cout << "Time to fill and iterate a vector of " << std::setw(9)
<< size << " ints : " << diff.count() << " s\n";
}
}
示例
auto p_currentTime = std::chrono::steady_clock::now(); //获取当前时间
auto duration_since_epoch = p_currentTime.time_since_epoch(); //从1970-01-01 00:00:00到当前时间点的时长
auto time = std::chrono::duration_cast<std::chrono::microseconds>(duration_since_epoch).count(); //将时长转换为微秒数
std::cout << time / 1000000.0f << "s\n";
新学单词:microseconds 微妙 millisecond 毫秒