class date_difference
{
int r=0;
public int datechk(int d,int m,int y)
{
if((y>100)&&(y<9999))
{
if((m==2)&&(y%4==0))
{
if((d>=1)&&(d<=29))
r=1;
else
r=0;
}
else if((m==2)&&(y%4!=0))
{
if((d>=1)&&(d<=28))
r=1;
else
r=0;
}
else if((m==1)||(m==3)||(m==5)||(m==7)||(m==8)||(m==10)||(m==12))
{
if((d>=1)&&(d<=31))
r=1;
else
r=0;
}
else if((m==4)||(m==6)||(m==9)||(m==11))
{
if((d>=1)&&(d<=30))
r=1;
else
r=0;
}
else
r=0;
}
return r;
}
public void main(int d1,int d2, int m1,int m2,int y1,int y2)
{
int mo[]={31,28,31,30,31,30,31,31,30,31,30,31};
int f,f1,i,tot=0;
f=datechk(d1,m1,y1);
f1=datechk(d2,m2,y2);
if(f==1 && f1==1)
{
if(y1==y2)
{
if(y1%4==0)
mo[1]=29;
for(i=m1+1;i<m2;i++)
tot+=mo[i];
if(m1 == m2)
tot+=d2-d1;
else
{
tot+=((mo[m1-1]-d1)+1);
tot+=d2;
}
System.out.println(tot);
}
else if(y1<y2)
{
for(i=(y1+1);i<y2;i++)
{
tot+=(i%4==0?366:365);
}
if(y1%4==0)
mo[1]=0;
for(i=m1;i<12;i++)
tot+=mo[i];
tot+=((mo[m1-1]-d1)+1);
if(y2%4==0)
mo[1]=29;
for(i=0;i<m2-1;i++)
tot+=mo[i];
tot+=d2;
System.out.println(tot);
}
else
System.out.println("invalid years");
}
}
}
No comments:
Post a Comment