其他分享
首页 > 其他分享> > c – 如何用time_t更改日期和时间的格式?

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