我从如何获取持续时间中获取了这段代码,就像从<chrono>中获取int milli和float秒?
#include <chrono>
#include <iostream>
int main (int argc, char *argv[])
{
auto t0 = std::chrono::high_resolution_clock::now();
auto t1 = std::chrono::high_resolution_clock::now();
std::chrono::duration< double > fs = t1 - t0;
std::chrono::milliseconds d = std::chrono::duration_cast< std::chrono::milliseconds >( fs );
std::cout << fs.count() << "s\n";
std::cout << d.count() << "ms\n";
}
哪个工作完美,但是我如何使用以下方法创建时间戳:
hour:minute:second:millisecond:microsecond:nanosecond
使用auto t0 = std::chrono::high_resolution_clock::now()
值?
我试图打印该auto t0 = std::chrono::high_resolution_clock::now();
值,以查看它的内部内容,但是它只给了我一个大错误堆栈:
#include <chrono>
#include <iostream>
int main (int argc, char *argv[])
{
auto t0 = std::chrono::high_resolution_clock::now();
std::cout << t0 << "\n";
}
错误:
main2.cpp: In function 'int main(int, char**)':
main2.cpp:10:13: error: no match for 'operator<<' (operand types are 'std::ostream {aka std::basic_ostream<char>}' and 'std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long int, std::ratio<1, 1000000000> > >')
std::cout << t0 << "\n";
~~~~~~~~~~^~~~~
您可以这样打印chrono :: timepoint:
auto t0 = std::chrono::high_resolution_clock::now();
auto nanosec = t0.time_since_epoch();
std::cout << nanosec.count() << " nanoseconds since epoch" "\n";
std::cout << nanosec.count()/(1000000000.0 *60.0 *60.0) << " hours since epoch" "\n";
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句