如何使用 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++11 std::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 格式化日期时间?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 jQuery 模板格式化日期/时间?

如何使用包含友好日期和月份的 DateFormatter 格式化日期

电脑如何修改日期格式

如何格式化熊猫日期时间? [复制]

如何实现word中的表格内连续不断日期更新?

如何将 RDLC 中的日期时间格式化为以本地日期时间格式显示?