整理c++ chrono时间库常用用法

news/2025/3/29 14:16:15/文章来源:https://www.cnblogs.com/daaobeng1019/p/18785549

参考链接:

  • cpp reference chrono

chrono时间库平时主要用于sleep()操作,计算操作时间间隔,一些标准库的wait()函数(比如future变量的wait_for())的参数等。
chrono库里面主要包括时钟,时间点,时长三个概念。

时钟

  • 系统时钟(system_clock)
  • 单调时钟(steady_clock)
  • 高精度时钟(high_resolution_clock)

系统时钟的一些常用用法

1.获取当前时间。通过system_clock::now()函数可以获取当前的时间点,返回类型是time_point。
2.计算时间差值。通过在某些操作前后分别通过now()函数获取当前时间点,可以计算时间差值。
3.to_time_t()函数。将time_point类型的值转换为std::time_t类型。

#include <iostream>
#include <chrono>
#include <iomanip>
#include <thread>void printCurrentTime(void)
{std::chrono::system_clock::time_point sysT = std::chrono::system_clock::now();std::cout << std::chrono::duration_cast<std::chrono::seconds>(sysT.time_since_epoch()).count() << std::endl;auto t1 = std::chrono::system_clock::to_time_t(sysT);std::cout << std::put_time(std::localtime(&t1), "%Y-%m-%d %H:%M:%S") << std::endl;    char buffer[80];std::strftime(buffer, 80, "%Y-%m-%d %H:%M:%S", std::localtime(&t1));std::cout << "use strftime:  " << buffer << std::endl;
}void delayTime(int sec)
{std::this_thread::sleep_for(std::chrono::seconds(sec));
}int main()
{printCurrentTime();delayTime(5);printCurrentTime();std::chrono::system_clock::time_point start = std::chrono::system_clock::now();delayTime(5);std::chrono::system_clock::time_point end = std::chrono::system_clock::now();std::cout << "cost time = " << std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count() << std::endl;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/902566.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

信创麒麟V10操作系统安装Kong网关

总览 随着国家对信息安全和自主可控技术的日益重视,信创改造正成为各大企业及政府部门的重要任务。公司目前在x86架构的Red Hat系统上部署了Kong网关2.2.1,并且通过官方RPM包实现了快速部署。为了顺应信创转型,现阶段需要在aarch64架构的信创麒麟v10系统上部署Kong网关。 由…

wsl kali 系统安装gvm (openVAS)

1. 更新系统 首先,确保系统是最新的: sudo apt update sudo apt upgrade -y2. 安装GVM(OpenVAS) Kali Linux官方仓库中已经包含了GVM(OpenVAS)的安装包。你可以通过以下命令安装: sudo apt install gvm3. 初始化GVM 安装完成后,需要初始化GVM。运行以下命令: sudo gvm…

day34 rsync备份任务的实战

06-备份任务实战 今天的任务主要以实际备份任务入手,完成综合练习,完成对rsync的综合运用。先看需求 再讲解 再次动手实践客户端需求 客户端需求: 1.客户端每天凌晨1点在服务器本地打包备份(/etc目录和/var/log目录) 2.客户端备份的数据必须存放至以 "主机名_ip地址_当…

dotnet-cnblogs-tool-cnblog

1. 解决的问题: 在本地编辑 md 后,如果有图像,直接复制该 md 到 博客园,或者使用 vscode 插件,会自动上传到博客园,但是上传后,因为没有真正上传图片,图片会无法显示。 2. 解决方法: 参考: dotnet-cnblogs-tool 本文环境为 linux 环境。直接下载 dotnet-cnblogs-tool…

可视化图解算法:链表相加( 两数相加)

对于链表的相关操作,我们总结了一套【可视化+图解】方法,依据此方法来解决链表相关问题,链表操作变得易于理解,写出来的代码可读性高也不容易出错。1. 题目 描述 假设链表中每一个节点的值都在 0 - 9 之间,那么链表整体就可以代表一个整数。 给定两个这种链表,请生成代表…

VUE中使用BroadcastChannel实现同源多页面实时通信

使用BroadcastChannel广播通信 准备工作:1.channel.js文件,内容如下const Channel = {/*** BroadcastChannel对象Map*/channelMap: new Map(),/*** 发送消息,重载方法,可直接调用,省略对象实例化操作* @param {*} channelName 通道名称,用以区分不同的通道* @param {*} o…

halcon 入门教程(五) 缺陷检测

原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/18785484有兴趣可以多看其他的halcon教程halcon 学习教程目录本篇主要讲一些常见的缺陷检测方法,目前只会讲一些,后面有空的话会不断的补充完整。因为缺陷的种类实在太多太多了,各种各样的缺陷可能都要用各种…

万字长文详解SIFT特征提取

本文对 SIFT 算法进行了详细梳理。SIFT即尺度不变特征变换(Scale-Invariant Feature Transform),是一种用于检测和描述图像局部特征的算法。该算法对图像的尺度和旋转具有不变性,并且在一定程度上能够抵御亮度变化和视角变化,具备较强的鲁棒性。此外,SIFT检测流程还提出了…

记录---学习项目如何用Docker部署

🧑‍💻 写在开头 点赞 + 收藏 === 学会🤣🤣🤣 写在前面 Docker对比传统虚拟机 Docker 是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的维护效率,降低了云计算应用开发的成本!使用 Docker,可以让应用的部署、测试和分发都变得前所未有的高效…

龙信年终技术考核wp

龙信年终技术考核wp 容器密码:MjAyNeWKoOayuQ== 假期里打的第一场取证比赛,一开始名次还挺高,后面服务器不太会做了,排名直接狂掉,获奖的名额太少了。其实上学期打的第一场取证也是龙信办的龙信杯,真的好难,还是这个友好。 1. 分析手机备份文件,该机主的QQ号为?(标准格…

规则系统|第二步 连接数据库

1.输出所有的数据库名2.问一下相关负责人这个需求放到哪个库里ssc: {ENGINE: django.db.backends.mysql, NAME: ssc, USER: star, PASSWORD: dpag5BoORZErhu4ttTju, HOST: 122.5.32.82, PORT: 19336} 3.下载dbeaver,连接相关库 4.用dbeaver手动创建需要的表,这里需要的表如下…

Excel甘特图

背景:领导让我在excel上填项目计划, 也就是分配未来的工时。有名称、开始时间、结束时间等。平时业务挺杂的, 其实没有办法准确的填写连贯的工时计划。需要稍微调整一下。甘特图比较直观, 但是MSProject又太大没装,还要收费。上网搜了一下还真有用wps office做的。 wps本身…