时间字符串转chrono::system_clock
std::chrono::system_clock::time_point parse_date(const std::string& date_str) {
std::tm tm = {};
std::istringstream ss(date_str);
ss >> std::get_time(&tm, "%Y-%m-%d"); // 假设日期字符串格式为YYYY-MM-DD
return std::chrono::system_clock::from_time_t(std::mktime(&tm));
}
解析日期字符串为tm结构体
std::tm parse_date(const std::string& date_str) {
std::tm tm = {};
// std::istringstream ss(date_str);
std::istringstream ss(date_str);
ss >> std::get_time(&tm, "%Y-%m-%d"); // 假设日期字符串格式为YYYY-MM-DD
// 更新time_t结构体(更新时间) std::mktime()
std::chrono::system_clock::from_time_t(std::mktime(&tm));
ss >> std::get_time(&tm, "%Y-%m-%d"); // 假设日期字符串格式为YYYY-MM-DD
return tm;
}
将tm结构体日期转换为字符串
std::string format_date(const std::tm &date) {
std::stringstream ss;
ss << std::put_time(&date, "%Y-%m-%d");
return ss.str();
}
获取当前系统时间
std::string ReturnLocalTime(std::string geshi)
{
auto now = std::chrono::system_clock::now();
auto nowTime_t = std::chrono::system_clock::to_time_t(now);
std::stringstream ss;
ss << std::put_time(localtime(&nowTime_t), geshi.c_str());
return ss.str();
}