//时间戳转string 1713175204= 2024-04-15 18:00:04struct tm *ttime;time_t flag_time = time(NULL);ttime = localtime(&flag_time);char time_str[100];cout << flag_time <<endl;cout << mktime(ttime) <<endl;sprintf(time_str,"%04d-%02d-%02d %02d:%02d:%02d",ttime->tm_year+1900,ttime->tm_mon+1,ttime->tm_mday,ttime->tm_hour,ttime->tm_min,ttime->tm_sec);cout << "1 = " <<time_str <<endl;strftime(time_str,100,"%Y年%m月%d日 %H时%M分%S秒",ttime);cout << "2= " <<time_str <<endl;//string转时间戳 2024-04-15 18:00:04 = 1713175204string ss = time_str;cout << ss <<endl;//方式一:linux系统适用
// struct tm timeinfo;
// strptime(time_str.c_str(), "%Y年%m月%d日 %H时%M分%S秒", &timeinfo); //windows环境下没有
// time_t timeStamp = mktime(&timeinfo); //将结构体转为时间戳
// cout << timeStamp<<endl;// 方式二struct tm tm_;int year, month, day, hour, minute,second;sscanf(ss.c_str(),"%d年%d月%d日 %d时%d分%d秒", &year, &month, &day, &hour, &minute, &second);//将string按照格式进行解析到数据中
// sscanf(ss.c_str(),"%d-%d-%d %d:%d:%d", &year, &month, &day, &hour, &minute, &second);//将string按照格式进行解析到数据中tm_.tm_year = year-1900;tm_.tm_mon = month-1;tm_.tm_mday = day;tm_.tm_hour = hour;tm_.tm_min = minute;tm_.tm_sec = second;tm_.tm_isdst = 0;cout << year << " "<< month << " " << day << " "<< endl;cout << tm_.tm_year << " "<< tm_.tm_mon << " " << tm_.tm_mday << " "<< endl;time_t timeStamp = mktime(&tm_);cout <<"timeStamp = "<< timeStamp<<endl;
时间戳转string
string CRelayControlInterface::GetFlagTimeStr(time_t flag_time)
{struct tm *ttime;ttime = localtime(&flag_time);char time_str[100];sprintf(time_str,"%04d%02d%02d%02d%02d%02d",ttime->tm_year+1900,ttime->tm_mon+1,ttime->tm_mday,ttime->tm_hour,ttime->tm_min,ttime->tm_sec);return string(time_str);
}
string转时间戳
time_t CRelayControlInterface::GetTimeforStr(const string& time_str)
{struct tm timeinfo;strptime(time_str.c_str(), "%Y-%m-%d-%H:%M:%S", &timeinfo);time_t timeStamp = mktime(&timeinfo); //将结构体转为时间戳return timeStamp;
}