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();
}
把秒转换成日期
最新推荐文章于 2021-05-27 13:57:56 发布