Thursday, November 18, 2010

program for display difference between two data

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: