请问一个日期计算的问题,类似于计算周岁.
比如说, 
 给定一个初始日期A, 
 给定一个中间月份和日期B, 
 给定一个结束日期C,   
 从这个A一天加一天的过,每当这个A的月份和日期和这个B的月份及日期相等,就加1,直到循环到C,然后计算一共循环了几次,怎么计算. 
 比如:A=2005-11-01    
                   B=     10-01 
                   C=2008-10-02 
 从A=2005-11-01开始:   
             2005-11-01 
   2005-11-02 
             2005-11-03 
    ................... 
             2006-10-01                              -----> 这里和B的月,日相同,所以循环为1.   
 ................... 
   2008-10-01                           -----> 这里和B的月,日相同,所以循环为2次. 
   2008-10-02(结束至C) 
 所以得出一共循环2次. 
 那么如何计算出它呢?
------解决方案--------------------DateTime A = new DateTime(2005, 11, 01); 
         DateTime C = new DateTime(2008, 10, 02);   
         int i = 1; 
         DateTime temp = A; 
         while (C >  temp) 
         { 
             temp = A.AddDays(i); 
             if (temp.Month == 10 && temp.Day == 1) 
                 Console.WriteLine(temp); 
             i++; 
         }
------解决方案--------------------try   
 DateTime A = new DateTime(2005, 11, 01); 
 DateTime C = new DateTime(2008, 10, 02); 
 DateTime temp = new DateTime(A.Year, 10, 01);  //以上数字可以为变量,不过那时最好用DateTime.TryParse方法来转换   
 if (temp  < A) 
     temp = temp.AddYears(1);   
 int i=0; 
 while(temp <C) 
 { 
     temp = temp.AddYears(1); 
     i++; 
 }   
 MessageBox.Show(i.ToString());  //结果为3   
 思路:如果A的年份加B小于A,那么计算起始时间从A年加1开始,否则从A年加B开始,如楼主所给例子,2005-10-01小于A,所以超始日期从2006-10-01算起,然后年份加1,判断是否小于C即可