如何将std :: chrono :: time_point转换为字符串?
例如:“201601161125”.
例如:“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`
如果您有localtime_s或localtime_r可用,则应优先使用localtime.
还有很多其他方法可以做到这一点,但是,虽然大多数更容易使用,但这些方法会产生一些预定义的字符串表示.您可以在功能中“隐藏”上述所有内容以方便使用.