【问题标题】:How to Format DateTime using Boost?如何使用 Boost 格式化日期时间?
【发布时间】:2013-10-06 11:57:43
【问题描述】:

我已经在 Stack Overflow 上发现了几个问题,使用了各种字符串流和一些没有真正正确记录的奇怪方法。 (显然似乎也没有标准的方法?)

真的没有简单(5 行或更少)的方法将boost::chrono::system_time::now() 格式化为自定义日期/时间 std::string 吗?

【问题讨论】:

  • 你试过C++11 std::chrono吗?另一方面,它没有格式化日期时间的标准函数(我指的是 C++ 风格,你必须使用 C posix 函数)。我在等std::chrono_io
  • Boost 还提供了 boost::chrono_io 以及 boost::chrono
  • @Manu343726 似乎没有任何文档或实际代码使用它。 (甚至找不到嵌入在 boost 标头中的适当文档)

标签: c++ string boost


【解决方案1】:

是的,您可以使用 ctime 将时间点转换为日历符号。

std::time_t t = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());
std::string ts = std::ctime(&t);

将于 2013 年 10 月 6 日星期日 13:55:05 返回

【讨论】:

  • 但是那个时候怎么自定义格式呢?如果我希望它是“YYYY-MM-DD HH-MM-SS”之类的呢?
  • 将其与 boost 日期时间格式库一起使用,请参见此处:stackoverflow.com/questions/5018188/…
猜你喜欢
  • 2011-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-12
  • 2018-05-20
  • 1970-01-01
  • 2017-08-01
  • 1970-01-01
相关资源
最近更新 更多