以下代码不会打印纪元。
typedef std::chrono::high_resolution_clock Clock;
typedef std::chrono::milliseconds Milliseconds;
auto res = std::chrono::duration_cast<Milliseconds>(Clock::now().time_since_epoch()).count();
std::stringstream ss;
ss << res;
printf(">>>>>>>>>>> TimeUtiles::getTimestamp %s", ss.str().c_str());
我使用NDK r9d并选择了NDK工具链版本为4.8!
编辑:
将std::chrono::high_resolution_clock
更改为std::chrono::system_clock
并且有效。为什么?
答案 0 :(得分:6)
system_clock
就像一块手表(智能手机占领地球之前腕上的东西)。它可以告诉您一天中的时间。而且由于没有一个时钟能保持完美的时间,它有时会问另一个时钟是什么时间,并且对其自身进行微小的调整以保持准确。
steady_clock
就像秒表。这对计时跑步者一圈或计时您的功能非常有用。它从不进行自我调整,而是尽力将每秒的秒数标记为最佳。但它不知道一天中的什么时间,甚至一年中的哪一天。
high_resolution_clock
也与任何人类日历或时间系统都不相关,并且可以是typedef
或system_clock
的{{1}}。实际上,它始终是其中一个时钟的steady_clock
。
在您的系统上,typedef
的类型显然与high_resolution_clock
相同。