如何使用 Boost 格式化日期时间?
Posted
技术标签:
【中文标题】如何使用 Boost 格式化日期时间?【英文标题】:How to Format DateTime using Boost? 【发布时间】:2013-10-06 11:57:43 【问题描述】:我已经在 Stack Overflow 上发现了几个问题,使用了各种字符串流和一些没有真正正确记录的奇怪方法。 (显然似乎也没有标准的方法?)
真的没有简单(5 行或更少)的方法将boost::chrono::system_time::now()
格式化为自定义日期/时间 std::string 吗?
【问题讨论】:
你试过C++11std::chrono
吗?另一方面,它没有格式化日期时间的标准函数(我指的是 C++ 风格,你必须使用 C posix 函数)。我在等std::chrono_io
。
Boost 还提供了 boost::chrono_io
以及 boost::chrono
库
@Manu343726 似乎没有任何文档或实际代码使用它。 (甚至找不到嵌入在 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 日期时间格式库一起使用,请参见此处:***.com/questions/5018188/…以上是关于如何使用 Boost 格式化日期时间?的主要内容,如果未能解决你的问题,请参考以下文章