C++ 计算多次累计不连续时间差
#include <iostream> #include <ctime> #include <cstdio> struct tm calc_date_diff(time_t& _second) { //计算年,如果只告诉秒,那么年的概念中是否可以忽略掉闰年的概念的, 因为这个时间段本来就不是一个连续的时间段 //如果你不忽略掉闰年的概念,怎么去计算断断续续的时间总和所持续的时间 struct tm timeinfo; timeinfo.tm_year = _second/(365*24*60*60); _second -= timeinfo.tm_year*365*24*60*60; timeinfo.tm_mon = _second/(24*60*60*30); _second -= timeinfo.tm_mon*24*60*60*30; timeinfo.tm_mday = _second/(24*60*60); _second -= timeinfo.tm_mday*24*60*60; timeinfo.tm_hour = _second/(60*60); _second -= timeinfo.tm_hour*60*60; timeinfo.tm_min = _second/60; _second -= timeinfo.tm_min*60; timeinfo.tm_sec = _second; return timeinfo; }
int main(int argc,char* argv[])
{
time_t rawtime;
time (&rawtime);
//struct tm timeinfo = calc_date_diff(rawtime);
struct tm timeinfo = calc_date_diff(2162);
cout<<"year: "<<timeinfo.tm_year<<endl<<"month: "<<timeinfo.tm_mon<<endl;;
cout<<"day: "<<timeinfo.tm_mday<<endl<<"hour: "<<timeinfo.tm_hour<<endl;
cout<<"minutes: "<<timeinfo.tm_min<<endl<<"second: "<<timeinfo.tm_sec<<endl;
system("pause");
return 0;
}

浙公网安备 33010602011771号