codeup 1928日期差值

  • Post author:
  • Post category:其他


#include<iostream>

#include<stdio.h>

using namespace std;

int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

bool isLeap(int year){


bool leap=false;

if(year%4==0&&year%100!=0||year%400==0){


leap=true;

}

return leap;

}

int getDay(int y,int m,int d){//计算到0年1月1日的天数

int sum=0;

sum=y*365+(y-1)/400+(y-1)/4-(y-1)/100;//计算年的天数

for(int i=1;i<m;i++){


sum=sum+month[i];

}

if(m>2&&isLeap(y)){


sum++;

}

sum=sum+d;

return sum;

}

int main(){


int date1=0;

int date2=0;

while(cin>>date1>>date2){

if(date1>date2){


int temp;

temp=date2;

date2=date1;

date1=temp;

}

int y1,m1,d1,y2,m2,d2;

y1=date1/10000;

y2=date2/10000;

m1=(date1%10000)/100;

m2=(date2%10000)/100;

d1=date1%100;

d2=date2%100;

cout<<getDay(y2,m2,d2)-getDay(y1,m1,d1)+1<<endl;

}

return 0;

}



版权声明:本文为qq_36734094原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。