const std::string date("2022-12-12 00:00:00");
std::regex reg("(\\d+)-(\\d+)-(\\d+)(\\s)(\\d+):(\\d+):(\\d+)");
std::smatch match;
std::regex_search(date,match,reg);
std::string tm_y(match[1]);// 年
std::string tm_m(match[2]);//月
std::string tm_d(match[3]);//日
// 小时,分钟,秒继续读取即可,这里不赘述。
struct tm stm;
stm.tm_year = std::stoi(tm_y) -1900;
stm.tm_mon = std::stoi(tm_m) -1;
stm.tm_mday = std::stoi(tm_d);
stm.tm_hour = 0; //默认0
stm.tm_min = 0;//默认0
stm.tm_sec = 0;//默认0
stm.tm_isdst = -1;// 关闭夏令时
time_t ti = mktime(&stm);