c 11 – 如何将std :: chrono :: time_point转换为字符串

前端之家收集整理的这篇文章主要介绍了c 11 – 如何将std :: chrono :: time_point转换为字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何将std :: chrono :: time_point转换为字符串?
例如:“201601161125”.

解决方法

最灵活的方法是将其转换为struct tm,然后使用strftime(就像sprintf一样).就像是:
std::chrono::system_clock::time_point now = std::chrono::system_clock::now();
std::time_t now_c = std::chrono::system_clock::to_time_t(now);
std::tm now_tm = *std::localtime(&now_c);
/// now you can format the string as you like with `strftime`

查找strftime here的文档.

如果您有localtime_s或localtime_r可用,则应优先使用localtime.

还有很多其他方法可以做到这一点,但是,虽然大多数更容易使用,但这些方法会产生一些预定义的字符串表示.您可以在功能中“隐藏”上述所有内容以方便使用.

猜你在找的C&C++相关文章