如何使用霍华德欣南特的 C++ 日期库格式化 UTC 时间字符串



有人能帮助我使用Howard Hinnant的优秀日期/时间库格式化日期字符串吗?我正在尝试从当前时间输出UTC日期。日期/时间的理想格式为zulu time per:

"2018 - 11 - 01 - t15:32:56z"-即"YYYY-MM-DDTHH:MM:SSZ"-

到目前为止,使用Howard的文档,我能够得到部分结果如下所示:

const auto today = floor<days>(system_clock::now());
auto dateTimeString = std::format("{}T{:02}:{:02}:{:02}Z", today, 15, 20, 59);

我必须硬编码HH MM &党卫军字段。我相信有一个简单的方法来格式化自定义日期/时间在这个库。谢谢你的帮助。

如果您正在使用std::format,那么您正在使用c++ 20,而不是Howard Hinnant的日期/时间库。尽管后者是c++ 20 chrono库的基础。

你的代码应该是这样的:
const auto today = floor<seconds>(system_clock::now());
auto dateTimeString = std::format("{:%FT%T}Z", today);

变量today包含以秒为精度的UTC时间点。{:%FT%T}格式化其中的YYYY-MM-DDTHH:MM:SS部分(%F为日期,%T为时间)。

最新更新