在asp.net中怎么样计算两个日期相差的年、月份、日期、小时、分钟 、妙等

//                 调用  
  //                 DateTime   a=Convert.ToDateTime("2005-09-03   20:15");  
  //                 DateTime   b=Convert.ToDateTime("2005-09-04   09:09   ");  
  //                 double   d=Bll.Common.DateDiff(Bll.Common.EnumDateCompare.day,a,b);  
  //                 Response.Write(d.ToString("f0"));//四舍五入  
  public   enum   EnumDateCompare  
  {  
                          year         =1,  
                          month         =2,  
                          day                 =3,  
                          hour         =4,  
                          minute         =5,  
                          second         =6  
  }  
  public   static   double   DateDiff(EnumDateCompare   howtocompare,   System.DateTime   startDate,   System.DateTime   endDate)    
  {    
                          double   diff=0;    
                          System.TimeSpan   TS   =   new   System.TimeSpan(endDate.Ticks-startDate.Ticks);    
   
                          switch   (howtocompare)    
                          {    
                                  case   EnumDateCompare.year:    
                                          diff   =   Convert.ToDouble(TS.TotalDays/365);    
                                          break;    
                                  case   EnumDateCompare.month:    
                                          diff   =   Convert.ToDouble((TS.TotalDays/365)*12);    
                                          break;    
                                  case   EnumDateCompare.day:  
                                          diff   =   Convert.ToDouble(TS.TotalDays);    
                                          break;    
                                  case   EnumDateCompare.hour:    
                                          diff   =   Convert.ToDouble(TS.TotalHours);    
                                          break;    
                                  case   EnumDateCompare.minute:    
                                          diff   =   Convert.ToDouble(TS.TotalMinutes);    
                                          break;    
                                  case   EnumDateCompare.second:    
                                          diff   =   Convert.ToDouble(TS.TotalSeconds);    
                                          break;    
                          }  
                          return   diff;  
  }  
posted @ 2007-07-23 15:21  暮江独钓  阅读(1142)  评论(0编辑  收藏  举报