#include <chrono>
#include <string>
#include <sstream>
#include <iomanip>
//时间字符串(如:[2022-07-29 18:59:888])
std::string Logger::get_time() const
{
//转为字符串,跨平台实现
auto t = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());
std::stringstream ss;
ss << std::put_time(std::localtime(&t), "[%Y-%m-%d %H:%M:%S");
auto tNow = std::chrono::system_clock::now();
auto tMilli = std::chrono::duration_cast<std::chrono::milliseconds>(tNow.time_since_epoch());
auto tSeconds = std::chrono::duration_cast<std::chrono::seconds>(tNow.time_since_epoch());
auto ms = tMilli - tSeconds;
ss << "." << std::setfill('0') << std::setw(3) << ms.count() << "]";
return ss.str();
}
C++11日期时间显示,跨平台,拼接字符串(精确到毫秒)
于 2022-07-29 15:28:01 首次发布