c++ strftime 格式化时间
时间: 2023-12-02 12:42:06 浏览: 155
在C/C++程序中,可以使用标准函数strftime来格式化时间。该函数的原型为:
```c++
size_t strftime(char* ptr, size_t maxsize, const char* format, const struct tm* timeptr);
```
其中,ptr是指向存储格式化后时间的字符串的指针,maxsize是ptr指向的字符串的最大长度,format是格式化字符串,timeptr是指向tm结构体的指针,表示要格式化的时间。
下面是一个示例代码,演示如何使用strftime函数格式化时间:
```c++
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
time_t now = time(0);
char* dt = ctime(&now);
cout << "当前时间为: " << dt << endl;
tm *gmtm = gmtime(&now);
dt = asctime(gmtm);
cout << "UTC时间为: " << dt << endl;
tm *ltm = localtime(&now);
char buffer[80];
strftime(buffer, 80, "%Y-%m-%d %H:%M:%S", ltm);
cout << "本地时间为: " << buffer << endl;
return 0;
}
```
输出结果为:
```
当前时间为: Wed Sep 1 16:14:34 2021
UTC时间为: Wed Sep 1 08:14:34 2021
本地时间为: 2021-09-01 16:14:34
```
阅读全文