c++ datetime 转字符串
时间: 2024-09-29 21:04:56 浏览: 38
在C++中,将日期时间转换为字符串通常使用<chrono>库,它是C++11引入的一个处理时间和日期的标准库。如果你有一个`std::chrono::system_clock::time_point`或者其他类型的日期时间对象,可以按照以下步骤将其转换为字符串:
```cpp
#include <iostream>
#include <chrono>
#include <ctime>
#include <sstream>
// 获取当前的时间点
auto now = std::chrono::system_clock::now();
// 将时间点转换为时间戳(秒)
auto duration_since_epoch = now - std::chrono::system_clock::epoch;
int64_t timestamp = std::chrono::duration_cast<std::chrono::seconds>(duration_since_epoch).count();
// 格式化为字符串(例如,YYYY-MM-DD HH:MM:SS)
std::stringstream ss;
ss << std::put_time(std::localtime(×tamp), "%Y-%m-%d %H:%M:%S");
// 输出字符串
std::string formatted_date_time = ss.str();
std::cout << "Formatted date and time: " << formatted_date_time << '\n';
```
在这个例子中,`%Y-%m-%d %H:%M:%S`是一个格式说明符,用于指定日期和时间的输出格式。
阅读全文