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++指针和引用的选择最近在看...
关于vtordisp知多少?我相信不少人看到这篇文章,多半是来自...
那些陌生的C++关键字学过程序语言的人相信对关键字并...
命令行下的树形打印最近在处理代码分析问题时,需要将代码的...
虚函数与虚继承寻踪封装、继承、多态是面向对象语言的三大特...