使用<ctime>获取当前时间戳并转换为本地时间结构,输出年月日时分秒格式的时间。

在C++中获取系统当前时间,常用的方法是使用标准库中的 <chrono> 和 <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++免费学习笔记(深入)”;
如果你需要更高精度的时间(比如毫秒或微秒),推荐使用 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>}说明:这种方式可以精确到毫秒甚至微秒,适用于日志记录、性能测试等场景。
你可以将时间输出为指定格式的字符串,便于日志或文件命名。
示例:生成 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++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号