EndDate,StartDate为time_t类型,假设已完成初始化。
double dTime = difftime(EndDate,StartDate);//两time_t相减
std::string strTime = double2TimeString(dTime);
time_t实际上也是整形,相关编码原理参照其他文档。
std::string double2TimeString(double dTime)
{
//dTime为秒数
int iHour = dTime / 60 / 60; //计算小时
int iMin = (dTime - iHour * 60 * 60) / 60; //小时的余数再除分钟的分钟数
int iSec = dTime - iHour * 60 * 60 - iMin * 60; //剩余即为秒数
char buffer[10];
sprintf(buffer, "%02d:%02d:%02d", iHour, iMin, iSec); //库函数,按规则写入buffer
std::string strTemp = buffer;
return strTemp;
}