C++如何格式化日期时间_C++ strftime与put_time使用教程

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

C++如何格式化日期时间_C++ strftime与put_time使用教程-第1张图片-佛山资讯网

在C++中格式化日期时间,常用的方法是使用标准库中的 strftime 和 C++11 引入的 put_time。它们都能将时间信息按指定格式输出为字符串,但使用场景和语法略有不同。下面详细介绍两者的用法。

strftime:C风格的时间格式化

strftime 是来自C语言的函数,定义在 头文件中,用于将 tm 结构体中的时间信息格式化为字符数组。

函数原型如下:

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 引入的,定义在 中,配合输出流(如 std::cout、std::ostringstream)使用,更符合 C++ 的编程风格。

标签: c++ 日期时间 c语言 ai ios stream 标准库 2025

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~