首页 > 后端开发 > C++ > 正文

c++如何获取当前系统时间_c++获取系统当前时间教程

裘德小鎮的故事
发布: 2025-10-27 13:54:02
原创
978人浏览过
使用<ctime>获取当前时间戳并转换为本地时间结构,输出年月日时分秒格式的时间。

c++如何获取当前系统时间_c++获取系统当前时间教程

在C++中获取系统当前时间,常用的方法是使用标准库中的 <chrono><ctime>。下面介绍几种实用且清晰的方式,帮助你快速获取当前时间。

使用 <ctime> 获取日期和时间

这是最传统、兼容性最好的方式,适合获取年月日时分秒格式的时间。

示例代码:

#include <iostream><br>#include <ctime><br><br>int main() {<br>    std::time_t now = std::time(nullptr); // 获取当前时间戳<br>    std::tm* localTime = std::localtime(&now); // 转换为本地时间结构<br><br>    // 输出格式化时间<br>    std::cout << (localTime->tm_year + 1900) << "-"<br>              << (localTime->tm_mon + 1) << "-"<br>              << localTime->tm_mday << " "<br>              << localTime->tm_hour << ":"<br>              << localTime->tm_min << ":"<br>              << localTime->tm_sec << std::endl;<br><br>    return 0;<br>}
登录后复制

说明:std::localtime 返回的是本地时间,注意 tm_year 是从1900年开始计算的,tm_mon 从0开始(0表示1月)。

立即学习C++免费学习笔记(深入)”;

使用 <chrono> 高精度获取时间

如果你需要更高精度的时间(比如毫秒或微秒),推荐使用 C++11 引入的 <chrono> 库。

示例代码:

#include <iostream><br>#include <chrono><br>#include <ctime><br><br>int main() {<br>    auto now = std::chrono::system_clock::now(); // 获取当前时间点<br>    std::time_t timeT = std::chrono::system_clock::to_time_t(now);<br><br>    // 转换为可读格式<br>    std::tm* localTime = std::localtime(&timeT);<br>    std::cout << "当前时间: " << std::put_time(localTime, "%Y-%m-%d %H:%M:%S") << std::endl;<br><br>    // 获取毫秒<br>    auto ms = std::chrono::duration_cast<std::chrono::milliseconds><br>        (now.time_since_epoch()) % 1000;<br>    std::cout << "毫秒部分: " << ms.count() << "ms" << std::endl;<br><br>    return 0;<br>}
登录后复制

麦当秀MindShow AiPPT
麦当秀MindShow AiPPT

麦当秀|MINDSHOW是一款百万用户正在使用的三分钟生成一份PPT的AI应用系统。它利用引领前沿的人工智能技术,能够自动完成演示内容的设计。

麦当秀MindShow AiPPT224
查看详情 麦当秀MindShow AiPPT

说明:这种方式可以精确到毫秒甚至微秒,适用于日志记录、性能测试等场景。

格式化输出时间字符串

你可以将时间输出为指定格式的字符串,便于日志或文件命名。

示例:生成 YYYYMMDD_HHMMSS 格式的时间字符串

#include <iostream><br>#include <chrono><br>#include <sstream><br>#include <iomanip><br><br>std::string getCurrentTimeStr() {<br>    auto now = std::chrono::system_clock::now();<br>    std::time_t timeT = std::chrono::system_clock::to_time_t(now);<br>    std::tm localTime = *std::localtime(&timeT);<br><br>    std::ostringstream oss;<br>    oss << std::put_time(&localTime, "%Y%m%d_%H%M%S");<br>    return oss.str();<br>}<br><br>int main() {<br>    std::cout << "文件名时间戳: " << getCurrentTimeStr() << std::endl;<br>    return 0;<br>}
登录后复制

说明:std::put_time 配合 ostringstream 可以灵活生成各种格式的时间字符串。

基本上就这些。根据你的需求选择合适的方法:简单用 ctime,高精度用 chrono。两种方式都稳定可靠,广泛用于实际项目中。

以上就是c++++如何获取当前系统时间_c++获取系统当前时间教程的详细内容,更多请关注php中文网其它相关文章!

相关标签:
c++速学教程(入门到精通)
c++速学教程(入门到精通)

c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号