#include <iostream>
#include <ctime>
#include <iomanip>
#include <string>
#include <sstream>
#include <stdio.h>
/**
* \brief C++11 标准库实现 time2Str, Str2time
*
*/
int main()
{
//
// time2Str
//
std::time_t tt{std::time(nullptr)};
std::ostringstream oss;
oss << std::put_time(std::localtime(&tt), "%Y-%m-%d %H:%M:%S");
std::string strTime{oss.str()};
std::cout << "strTime:" << strTime << '\n';
//
// str2time
//
std::tm mytm = {};
std::istringstream iss{strTime};
iss >> std::get_time(&mytm, "%Y-%m-%d %H:%M:%S");
printf("struct tm: %04d-%02d-%02d %02d:%02d:%02d\n",
mytm.tm_year+1900, mytm.tm_mon+1, mytm.tm_mday,
mytm.tm_hour, mytm.tm_min, mytm.tm_sec);
std::time_t tt2{std::mktime(&mytm)};
std::cout << "tt2:" << tt2 << '\n';
}
C++11 标准库实现 time2Str, Str2time
最新推荐文章于 2024-06-23 21:27:49 发布