c – 如何用time_t更改日期和时间的格式?
作者:互联网
time_t now = time(0);
std::string h = std::string (ctime (&now));
std::cout << "\nh: " << h;
我收到的当前输出是:2017年9月14日星期五10:58:26
我希望输出为2017-08-26-16-10-56
我该怎么做才能输出?
解决方法:
使用strftime,像这样:
strftime (buffer, 80,"%Y-%m-%d-%H-%M-%S",timeinfo);
完整代码:
#include <cstdio>
#include <ctime>
int main ()
{
time_t rawtime;
struct tm * timeinfo;
char buffer [80];
time (&rawtime);
timeinfo = localtime (&rawtime);
strftime (buffer, 80,"%Y-%m-%d-%H-%M-%S",timeinfo);
puts (buffer);
return 0;
}
输出:
2017-09-14-14-41-19
标签:time-t,c,date,time,formatting 来源: https://codeday.me/bug/20190823/1699082.html