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<Y-1;i++)
       {
          if(i%4==0&&i0!=0||i@0==0)
             SUM++;
       }
       for(int i=0;i<M-1;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<y-1;i++)
       {
          if(i%4==0&&i0!=0||i@0==0)
             sum++;
        }
        for(int i=0;i<m-1;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+"天");
   }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值