云服务器免费试用

如何在C++中使用strftime进行时间戳转换

服务器知识 0 1413

strftime 是 C++ 标准库 <ctime> 中的一个函数,用于将 tm 结构体(通常包含日期和时间信息)格式化为一个字符串

如何在C++中使用strftime进行时间戳转换

#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 函数的第二个参数是缓冲区的大小,确保缓冲区足够大以容纳格式化后的字符串。否则,可能会导致缓冲区溢出错误。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942@qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在C++中使用strftime进行时间戳转换
本文地址: https://solustack.com/171617.html

相关推荐:

网友留言:

我要评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。