Android 计算两个日期之间相隔的天数

//SUM、sum分别为较大日期与较小日期化为天数后的总天数,

//Y,M,D分别为大日期的年月日

//y,m,d为小日期的年月日

int SUM=0,sum=0,M=0,m=0,Y=0,y=0,D=0,d=0;
try

{
   if(endyear.getText().toString()=null||endmonth.getText().toString()!=null||endday.getText().toString()!=null||startyear.getText().toString()!=null||startmonth.getText().toString()!=null||startday.getText().toString()!=null)
   {
    Y=Integer.parseInt(endyear.getText().toString());
    M=Integer.parseInt(endmonth.getText().toString());
    D=Integer.parseInt(endday.getText().toString());
    y=Integer.parseInt(startyear.getText().toString());
    m=Integer.parseInt(startmonth.getText().toString());
    d=Integer.parseInt(startday.getText().toString());
          
    if(Y<0||y<0||M>12||m>12||M<0||m<0||D<0||d<0||D>a[M-1]||d>a[m-1])
    {
        Toast.makeText(TSJSQ.this,"日期错误,请重新输入",Toast.LENGTH_LONG).show();
    }
    else
    {
       for(int i=0;i        {
          if(i%4==0&&i0!=0||i@0==0)
             SUM++;
       }
       for(int i=0;i           SUM+=a[i];
       if(M>2)
       {
          if(Y%4==0&&Y0!=0||Y@0==0)
             SUM++;
       }
       SUM=SUM+(Y-1)*365+D;      
       for(int i=0;i        {
          if(i%4==0&&i0!=0||i@0==0)
             sum++;
        }
        for(int i=0;i            sum+=a[i];
        if(m>2)
        {
          if(y%4==0&&y0!=0||y@0==0)
             sum++;
        }   
        sum=sum+(y-1)*365+d;
        int Ss=SUM-sum;
        xcday.setText("相差"+Ss+"天");
   }
}

你可能感兴趣的:(Android)