【发布时间】:2017-06-02 04:19:21
【问题描述】:
我正在尝试使用std::chrono 制作std::string,但遇到了问题。
这是我想模仿的 C(-ish) 代码:
std::uint32_t time_date_stamp = 1484693089;
char date[100];
struct tm *t = gmtime(reinterpret_cast<const time_t*>(&time_date_stamp));
strftime(date, sizeof(date), "%Y-%m-%d %I:%M:%S %p", t);
我的出发点始终是这个std::uint32_t,它来自我无法控制的数据格式。
对不起,我没有任何 C++ 作为起点,我什至不知道如何正确地制作 std::chrono::time_point。
【问题讨论】:
-
我认为你最好使用
strftime像往常一样将std::chrono字符串化的方法是转换为time_t -
OP 也可以使用
std::put_time -
一个非常紧密的切线:Outputting Date and Time in C++ using std::chrono 还链接到 Howard Hinnant 的……呃……他刚刚发布了一个答案,不是吗?