失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > c++11:std::chrono::time_point time_t std::localtime std::gmtime std::chrono::steady_clock

c++11:std::chrono::time_point time_t std::localtime std::gmtime std::chrono::steady_clock

时间:2020-04-22 06:47:42

相关推荐

c++11:std::chrono::time_point time_t std::localtime std::gmtime std::chrono::steady_clock

template<class Clock,class Duration = typename Clock::duration> class time_point;

类模板 std::chrono::time_point 表示时间中的一个点。它被实现成如同存储一个 Duration 类型的自 Clock 的纪元起始开始的时间间隔的值。(通俗来讲,time_point存储一个时间点,这个时间点是指从CLock纪元开始,往后Duration类型的值所代表的那个时间点)

Clock 必须满足时钟 (Clock) 的要求或为 std::chrono::local_t (C++20 起)

成员函数

非成员函数

time_t:出于历史原因,通常将其实现为一个整数值,该整数值表示自UTC(1970年1月1日)00:00小时以来经过的秒数(即unix时间戳)

std::localtime:将time_t转换为本地日历时

std::gmtime:将time_t转换为世界时

std::chrono::steady_clock:类std::chrono::steady_clock表示单调时钟。此时钟的时间点无法减少,因为物理时间向前移动。此时钟与壁钟时间无关(例如,它能是上次重启开始的时间),且最适于度量间隔。

#include <iostream>#include <iomanip>#include <ctime>#include <chrono>int main(){std::chrono::system_clock::time_point now = std::chrono::system_clock::now();std::time_t now_c = std::chrono::system_clock::to_time_t(now - std::chrono::hours(24));std::cout << "24 hours ago, the time was "<< std::put_time(std::localtime(&now_c), "%F %T") << '\n';std::chrono::steady_clock::time_point start = std::chrono::steady_clock::now();std::cout << "Hello World\n";std::chrono::steady_clock::time_point end = std::chrono::steady_clock::now();std::cout << "Printing took "<< std::chrono::duration_cast<std::chrono::microseconds>(end - start).count()<< "us.\n";}

运行结果:

如果觉得《c++11:std::chrono::time_point time_t std::localtime std::gmtime std::chrono::steady_clock》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。