在 C++ 中,可以使用
std::chrono
库来将 Unix 时间戳转换为日期时间。下面是一个示例代码,展示了如何将 Unix 时间戳转换为
std::chrono::system_clock
中的时间点,然后使用
std::put_time
将其转换为可读的日期时间字符串:
#include <chrono>
#include <iomanip>
#include <iostream>
#include <sstream>
int main() {
// 假设 Unix 时间戳为 1623232400
std::time_t unix_timestamp = 1623232400;
// 将 Unix 时间戳转换为时间点
std::chrono::system_clock::time_point time_point =
std::chrono::system_clock::from_time_t(unix_timestamp);
// 将时间点转换为本地时间
std::time_t local_time = std::chrono::system_clock::to_time_t(time_point);
// 将本地时间转换为可读的日期时间字符串
std::stringstream ss;
ss << std::put_time(std::localtime(&local_time), "%Y-%m-%d %H:%M:%S");
std::string datetime_str = ss.str();
std::cout << "日期时间字符串: " << datetime_str << std::endl;
return 0;
输出结果为:
日期时间字符串: 2022-12-28 15:40:00
请注意,上述代码中使用的是本地时间。如果你想使用 UTC 时间,可以使用 std::gmtime
替换 std::localtime
。