我想打印时间中心对齐。但是我不知道如何混合参数和fmt。
std::cout << fmt::format("|{0: ^80}|n", "");
std::cout << fmt::format("|{0:%c}|n", std::chrono::system_clock::now());
这个打印:
| |
|Fri May 13 09:24:05 2022|
我尝试了以下操作,但是程序崩溃了:
std::cout << fmt::format("|{0:%c{:^ 80}}|n", std::chrono::system_clock::now());
如何打印日期字符串居中对齐?
我找到的解决方案是传递另一种格式:
std::cout << fmt::format("|{0: ^80}|n",
fmt::format("{0:%c}", std::chrono::system_clock::now()));
但这看起来不太好?我认为应该有一种方法可以用一种格式来完成它?
From https://fmt.dev/latest/syntax.html:
chrono_format_spec ::= [[fill]align][width]["." precision][chrono_specs]
:
fmt::format("|{0: ^80%c}|n", ....