当前位置: 首页 > news >正文

C++中如何获取时间并格式化为字符串?

在C++中,你可以使用标准库中的 <chrono><iomanip> 头文件来获取当前时间并将其格式化为字符串。以下是一个简单的示例,展示了如何获取当前时间并将其格式化为一个可读的字符串(例如:YYYY-MM-DD HH:MM:SS)。

#include <iostream>
#include <iomanip>
#include <sstream>
#include <ctime>
#include <chrono>std::string getCurrentTimeString() {// 获取当前时间点auto now = std::chrono::system_clock::now();// 将时间点转换为 time_t 类型(自1970年1月1日以来的秒数)std::time_t now_time_t = std::chrono::system_clock::to_time_t(now);// 将 time_t 转换为 tm 结构std::tm* now_tm = std::localtime(&now_time_t);// 使用 std::ostringstream 将 tm 结构转换为字符串std::ostringstream oss;oss << std::put_time(now_tm, "%Y-%m-%d %H:%M:%S");return oss.str();
}int main() {std::string currentTime = getCurrentTimeString();std::cout << "Current time: " << currentTime << std::endl;return 0;
}

解释

  1. 获取当前时间点:使用 std::chrono::system_clock::now() 获取当前的时间点。
  2. 转换为 time_t 类型:使用 std::chrono::system_clock::to_time_t() 将时间点转换为 time_t 类型,它表示自1970年1月1日以来的秒数。
  3. 转换为 tm 结构:使用 std::localtime()time_t 类型转换为 tm 结构,这个结构包含了详细的日期和时间信息。
  4. 格式化为字符串:使用 std::ostringstreamstd::put_time()tm 结构格式化为一个字符串。"%Y-%m-%d %H:%M:%S" 是格式字符串,其中 %Y 表示四位数的年份,%m 表示两位数的月份,%d 表示两位数的日期,%H 表示两位数的小时(24小时制),%M 表示两位数的分钟,%S 表示两位数的秒。

运行这个程序将输出当前时间,格式为 YYYY-MM-DD HH:MM:SS

http://www.lryc.cn/news/472128.html

相关文章:

  • 项目1 yolov5鱼苗检测计数
  • GPU 学习笔记三:GPU多机多卡组网和拓扑结构分析(基于数据中心分析)
  • 各编程语言处理HTTP状态码的库推荐
  • 【Mac】Python 环境管理工具
  • 大语言模型数据流程源码解读(基于llama3模型)
  • [蓝桥杯 2015 省 A] 饮料换购
  • K8S测试pod内存和CPU资源不足
  • rabbitmq 使用注意事项
  • <项目代码>YOLOv8 夜间车辆识别<目标检测>
  • xterm.js 库作用
  • 在Excel中如何快速筛选非特定颜色
  • kotlin定时器和主线程定时器
  • vscode不能执行vue命令/ vue : 无法加载文件
  • 1.4 STL C++面试问题
  • Bash、sh 和 Shell都弄混了?
  • 架构师备考专栏-导航页
  • STM32-Cube定时器TIM
  • Webpack 是什么? 解决了什么问题? 核心流程是什么?
  • Jenkins面试整理-Jenkins 的主要用途是什么?
  • Linux下使用C/C++进行UDP网络编程
  • 【JavaEE初阶】网络原理—关于TCP协议值滑动窗口与流量控制,进来看看吧!!!
  • 无人机避障——使用三维PCD点云生成的2D栅格地图PGM做路径规划
  • supermall项目上拉加载bug分析
  • 【linux网络编程】| socket套接字 | 实现UDP协议聊天室
  • 第二届开放原子大赛-开源工业软件算法集成大赛即将启动!
  • PXC集群(Percona XtraDB Cluster )
  • 分布式光伏是什么意思?如何高效管理?
  • 提问GPT
  • 李飞飞团队新突破:低成本高泛化机器人训练法,零样本迁移成功率90%!
  • PHP内存马:不死马