.NET经验心得探讨社区  
请在这里用键盘敲打出属于你的地位!
private string jia7(DataTable dt,int dd)//计算加7天后的正确日期
  {
   string DATE="";
   int riqi=0,days=0,day=0;
   string date=dt.Rows[0][0].ToString();
   int testDate=Convert.ToInt32(date.Substring(0,4));//取年
   int testDate1=Convert.ToInt32(date.Substring(4,2));//取月
   int testDate2=Convert.ToInt32(date.Substring(6,2));//取日期
   days=yuefen(testDate1);//验证月份并给出正确天数
   riqi=Convert.ToInt32(testDate2)+dd;
   if(riqi>days)//如果加7天后的日期大于这个月的日期
   {
    if(testDate1==12)//如果当前月是12月
    {
     day=yuefen(1);//把1月传回去计算1月的天数
     testDate1=1;//改月份为1月份
     testDate=testDate+1;//并且把当前年加1
    }
    else
    {
     testDate1=testDate1+1;//把当前月加1
     day=yuefen(testDate1);
    }
    day=riqi-days;//用加完7天的日期减去新算出的这个月的日期就是新的日期了
    DATE+=testDate;//加正确的年份进去
    if(testDate1>0 && testDate1<10)
    {
     DATE+=0;
     DATE+=testDate1; 
    }
    else
    {
     DATE+=testDate1;//加正确的月份进去
    }
    if(day>0 && day<10)
    {
     DATE+=0;
     DATE+=day; 
    }
    else
    {
     DATE+=day;//加正确的日期进去
    }
   }
   else
   {
    DATE+=testDate;
    if(testDate1>0 && testDate1<10)
    {
     DATE+=0;
     DATE+=testDate1;
    }
    else
    {
     DATE+=testDate1;//加正确的月份进去
    }
    if(riqi>0 && riqi<10)
    {
     DATE+=0;
     DATE+=riqi; 
    }
    else
    {
     DATE+=riqi;//加正确的日期进去
    }
   }
   return DATE;
  }
private string jian7(DataTable dt,int dd)//计算减7天后的正确日期
  {
   string DATE="";
   int riqi=0,days=0,day=0;
   string date=dt.Rows[0][0].ToString();
   int testDate=Convert.ToInt32(date.Substring(0,4));//取年
   int testDate1=Convert.ToInt32(date.Substring(4,2));//取月
   int testDate2=Convert.ToInt32(date.Substring(6,2));//取日期
   days=yuefen(testDate1);//验证月份并给出正确天数
   riqi=Convert.ToInt32(testDate2)-dd;//用取到的天数减去7天
   if(riqi<1)//如果结果小于1要减少一个月
   {
    if(testDate1==1)//如果当前月是1月
    {
     day=yuefen(12);//传递12月去取天数
     testDate1=12;//改月份为12月
     testDate=testDate-1;//月份回退年份也回退
    }
    else
    {
     testDate1=testDate1-1;//把取出的月份减1
     day=yuefen(testDate1);
    }
    day=day+riqi;//计算出正确的日期
    DATE+=testDate;//加正确的年份进去
    if(testDate1>0 && testDate1<10)
    {
     DATE+=0;
     DATE+=testDate1; 
    }
    else
    {
     DATE+=testDate1;//加正确的月份进去
    }
    if(day>0 && day<10)
    {
     DATE+=0;
     DATE+=day; 
    }
    else
    {
     DATE+=day;//加正确的日期进去
    }
   }
   else
   {
    DATE+=testDate;
    if(testDate1>0 && testDate1<10)
    {
     DATE+=0;
     DATE+=testDate1;
    }
    else
    {
     DATE+=testDate1;//加正确的月份进去
    }
    if(riqi>0 && riqi<10)
    {
     DATE+=0;
     DATE+=riqi; 
    }
    else
    {
     DATE+=riqi;//加正确的日期进去
    }
   }
   return DATE;
  }
private int yuefen(int testDate1)//接受月份计算该月的正确天数
  {
   int days=0;
   switch(testDate1)//验证月份并给出正确天数
   {
    case 1:
     days=31;
     break;
    case 2:
     if(Convert.ToInt32(testDate1)%4==0)
     {
      days=29;
     }
     else
     {
      days=28;
     }
     break;
    case 3:
     days = 31;
     break;
    case 4:
     days = 30;
     break;
    case 5:
     days = 31;
     break;
    case 6:
     days = 30;
     break;
    case 7:
     days = 31;
     break;
    case 8:
     days = 31;
     break;
    case 9:
     days = 30;
     break;
    case 0:
     days = 31;
     break;
    case 11:
     days = 30;
     break;
    case 12:
     days = 31;
     break;
   }
   return days;
  }

 

posted on 2006-02-11 18:16  苦涩的咖啡  阅读(1012)  评论(2编辑  收藏  举报