std::put_time

  • Post author:
  • Post category:c++
  • Post comments:0评论

std::put_time 是一个 C++11 标准库函数,它可以将一个时间数据格式化为一个字符串,其原型如下:

template <class TChar, class TStreambuf, class Tp>
std::basic_ostream<TChar, TStreambuf>&
    put_time(const std::tm* tmb, const Tp* fmt);

其中,tmb 是一个指向 tm 结构体的指针,即待格式化的时间数据;fmt 是一个常指针,指向一个 C 风格的格式化字符串。

该函数返回一个(基于所传进来的时间数据和格式化字符串而生成的)字符串的输出流对象。所以在使用时,通常需要带上 << 运算符,将输出流对象插入到合适的输出流中。如下面的例子:

#include <iostream>
#include <iomanip>
#include <ctime>

int main()
{
    std::time_t now = std::time(nullptr);
    std::tm tm_now = *std::localtime(&now);

    std::cout << std::put_time(&tm_now, "%Y-%m-%d %H:%M:%S") << '\n';
}

这个例子中,我们首先获取了当前时间,然后调用 std::localtime 函数来获取一个 tm 类型的结构体,代表了当前时间。最后,我们调用 std::put_time 函数,将这个结构体以 "%Y-%m-%d %H:%M:%S" 的格式格式化为一个字符串,并通过 std::cout 输出。

文章作者: 张拓
文章链接: http://www.xssl.online/stdput_time/
版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0 许可协议。转载请注明来自 张拓的博客
浏览次数: 627

张拓

陕西西安蓝田张拓QQ1070410059。一生所求不过“心安”二字。 然,尘世多纷扰。

发表回复