[C++] 纯文本查看 复制代码 bool runnian(int t)//闰年判断
{
if (((t%4 == 0)&&(t%100 != 0)) || (t%400 == 0))
{
return true;
}
return false;
}
void shuiguotou()//睡过头 日期间隔计算
{
int y1,m1,d1,y2,m2,d2;
int n1=0,n2=0,n3=0,y1t,y2t;
cin>>y1>>m1>>d1>>y2>>m2>>d2;
int mon[2][12]={31,28,31,30,31,30,31,31,30,31,30,31,
31,29,31,30,31,30,31,31,30,31,30,31}; //平年和闰年的月份天数
if(runnian(y1)) y1t=1;
else y1t=0;
if(runnian(y2)) y2t=1;
else y2t=0;
for(int i=1;i<=12;i++)
{
if(i==m1)
{
n1+=d1;
break;
}
else n1+=mon[y1t][i-1];
}
for(int i=1;i<=12;i++)
{
if(i==m2)
{
n2+=d2;
break;
}
else n2+=mon[y2t][i-1];
}
for(int i=y1;i<y2;i++)
{
if(runnian(i)) n3+=366;
else n3+=365;
}
cout<<n3+n2-n1;
} |