把秒转换成日期

来源:互联网 发布:一加5 知乎 编辑:程序博客网 时间:2024/05/20 07:34
string Date::operator - ( const Date& b ){double diff = difftime( rawtime, b.rawtime );if ( diff < 0 )diff*=-1;ostringstream o;  if ( diff < 60 ){o<<diff<<" SECOND(S)"; return o.str();} if ( diff < 3600 ){int min = (int)diff/60;int sec= (int)diff%60;o<<min<<" MINUTE(S), "<<sec<< " SECOND(S)"; }else if ( diff < 86400 ) /* DAY */{ int hours = (int) diff/3600; int hourRemainder = (int)diff%3600; int min = (int)hourRemainder/60; int sec= (int)diff%60; o<<hours<< " HOUR(S), "<< min<< " MINUTE(S), "<<sec<< " SECOND(S)"; }else if ( diff < 31536000 ) /* YEAR */ { int days = (int) diff/86400; int daysRemainder = (int)diff%86400; int hours = (int) daysRemainder/3600; int hourRemainder = (int)(diff - 86400)%3600; int min = (int)hourRemainder/60;int sec= (int)diff%60;o<<days<<" DAY(S), "<<hours<< " HOUR(S), "<< min<< " MINUTE(S), "<<sec<< " SECOND(S)"; }else{int years = (int) diff/31536000;int yearsRemainder = (int) diff%31536000;int days = (int) yearsRemainder/86400;int daysRemainder = (int)diff%86400;int hours = (int) daysRemainder/3600;int hourRemainder = (int)(diff - 86400)%3600;int min = (int)hourRemainder/60; int sec= (int)diff%60; o<<years<<" YEAR(S), "<<days<<" DAY(S), "<<hours<< " HOUR(S), "<< min<< " MINUTE(S), "<<sec<< " SECOND(S)"; }   return o.str();}

原创粉丝点击