C++中本地时间的格式化
时间: 2024-03-23 21:43:03 浏览: 53
在 C++ 中将本地时间格式化为指定字符串可以使用 `<ctime>` 头文件中的 `strftime` 函数。具体步骤如下:
1. 使用 `time` 函数获取当前时间的秒数:
```c++
time_t now = time(nullptr);
```
2. 使用 `localtime` 函数将秒数转换为本地时间:
```c++
tm* local_time = localtime(&now);
```
3. 使用 `strftime` 函数将本地时间格式化为指定字符串:
```c++
char buffer[80];
strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", local_time);
```
其中,第一个参数为存储格式化后字符串的缓冲区,第二个参数为缓冲区大小,第三个参数为格式化字符串,后面的参数为需要格式化的时间结构体。
在上面的示例中,`"%Y-%m-%d %H:%M:%S"` 表示将时间格式化为类似于 `2022-09-20 15:27:30` 的字符串格式。
完整的代码示例:
```c++
#include <ctime>
#include <iostream>
int main() {
time_t now = time(nullptr);
tm* local_time = localtime(&now);
char buffer[80];
strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", local_time);
std::cout << "Formatted local time: " << buffer << std::endl;
return 0;
}
```
阅读全文