std::put_time用法
时间: 2024-10-01 15:06:18 浏览: 30
Chronos:一个使用std以字符串格式获取日期时间的项目
`std::put_time`是C++ `<iomanip>`库中的一个成员函数,它用于格式化日期和时间,并将其插入到给定的`std::ostream`对象(如`std::cout`)中。这个函数通常配合`std::time_t`类型的值(即`mktime()`返回的值)一起使用,表示自纪元以来的秒数。
以下是一个基本的用法示例:
```cpp
#include <iostream>
#include <iomanip>
#include <chrono>
#include <ctime>
int main() {
// 获取当前时间点
auto now = std::chrono::system_clock::now();
// 将时间戳转换为本地时间
auto local_time = std::chrono::system_clock::to_time_t(now);
// 使用put_time函数格式化输出
std::time_t formatted_time;
std::istringstream iss(std::ctime(&local_time)); // 创建一个istringstream来解析time_t
iss >> formatted_time; // 把time_t读入formatted_time
std::cout << "Current date and time (in local timezone): ";
std::cout << std::put_time(&formatted_time, "%Y-%m-%d %H:%M:%S"); // 格式化输出
return 0;
}
```
这里的`"%Y-%m-%d %H:%M:%S"`是占位符,对应于年、月、日、小时、分钟和秒,你可以根据需要修改这些格式字符。
阅读全文