阅读量:0
strftime
是 C++ 标准库 <ctime>
中的一个函数,用于将 tm
结构体(通常包含日期和时间信息)格式化为一个字符串
#include<iostream> #include <ctime> #include <iomanip> int main() { // 获取当前时间 std::time_t now = std::time(nullptr); // 将 time_t 转换为 tm 结构体 std::tm* local_time = std::localtime(&now); // 创建一个足够大的字符数组来存储格式化后的时间戳字符串 const size_t buffer_size = 100; char buffer[buffer_size]; // 使用 strftime 将 tm 结构体格式化为字符串 std::strftime(buffer, buffer_size, "%Y-%m-%d %H:%M:%S", local_time); // 输出格式化后的时间戳字符串 std::cout << "Formatted timestamp: "<< buffer<< std::endl; return 0; }
在这个示例中,我们首先获取当前时间(以 time_t
类型表示),然后将其转换为 tm
结构体。接下来,我们创建一个足够大的字符数组来存储格式化后的时间戳字符串。最后,我们使用 strftime
函数将 tm
结构体格式化为字符串,并将结果输出到控制台。
注意:strftime
函数的第二个参数是缓冲区的大小,确保缓冲区足够大以容纳格式化后的字符串。否则,可能会导致缓冲区溢出错误。