C++中格式化日期时间常用strftime和put_time。1. strftime来自C,需字符数组,格式如"%Y-%m-%d %H:%M:%S";2. put_time为C++11流操作符,配合cout或ostringstream使用,更简洁;3. 前者兼容性好,后者可读性强但依赖locale设置。

在C++中格式化日期时间,常用的方法是使用标准库中的 strftime 和 C++11 引入的 put_time。它们都能将时间信息按指定格式输出为字符串,但使用场景和语法略有不同。下面详细介绍两者的用法。
strftime:C风格的时间格式化
strftime 是来自C语言的函数,定义在
函数原型如下:
size_t strftime(char* str, size_t maxsize, const char* format, const struct tm* timeptr);参数说明:
- str:输出的字符数组
- maxsize:字符数组最大长度
- format:格式化字符串(如 "%Y-%m-%d %H:%M:%S")
- timeptr:指向 tm 结构体的指针
示例代码:
#include iostream>#include
int main() {
std::time_t t = std::time(nullptr);
std::tm* local_tm = std::localtime(&t);
char buffer[100];
std::strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", local_tm);
std::cout return 0;
}
常见格式化符号:
- %Y:四位年份(如 2025)
- %m:月份(01-12)
- %d:日期(01-31)
- %H:小时(00-23)
- %M:分钟(00-59)
- %S:秒(00-60)
- %A:星期几全名(如 Monday)
- %B:月份全名(如 January)
put_time:C++流风格的时间格式化
put_time 是 C++11 引入的,定义在
标签: c++ 日期时间 c语言 ai ios stream 标准库 2025
还木有评论哦,快来抢沙发吧~