在查询时sql语句中日期型能不能减(-)日期型
在vs2005 c# 怎么写?

解决方案 »

  1.   

    dateTime1   =   DateTime.Now;  
      ...  
      TimeSpan   ts   =   dateTime1   -   dateTime2;  
      Console.WriteLine("天数"   +   ts.Days);   
      

  2.   

    CSDN上这个问题的帖子太多了
    private   double   DateDiff(string   howtocompare,   System.DateTime   startDate,   System.DateTime   endDate)    
      {    
            double   diff=0;    
            System.TimeSpan   TS   =   new   System.TimeSpan(endDate.Ticks-startDate.Ticks);    
       
            switch   (howtocompare.ToLower())    
            {    
              case   "year":    
                diff   =   Convert.ToDouble(TS.TotalDays/365);    
                break;    
              case   "month":    
                diff   =   Convert.ToDouble((TS.TotalDays/365)*12);    
                break;    
              case   "day":  
                diff   =   Convert.ToDouble(TS.TotalDays);    
                break;    
              case   "hour":    
                diff   =   Convert.ToDouble(TS.TotalHours);    
                break;    
              case   "minute":    
                diff   =   Convert.ToDouble(TS.TotalMinutes);    
                break;    
              case   "second":    
                diff   =   Convert.ToDouble(TS.TotalSeconds);    
                break;    
            }  
       
            return   diff;  
      }   
      

  3.   

    sql 语句中
    select datediff(month,'2006-11-01','2006-12-29')
    c# 代码里
      private string DateDiff(DateTime DateTime1, DateTime DateTime2)
            {
                string dateDiff = null;            TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
                TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
                TimeSpan ts = ts1.Subtract(ts2).Duration();
                dateDiff = ts.Days.ToString();            return dateDiff;
            }
      

  4.   

    SQL中是能相减的
    C#中民是可以相差的。。两个日期相减是一个timespan
      

  5.   

    然后你就可以对timespan进行操作了。。