从数据库中获取“截止日期”,并与当前日期进行比较,未到期则显示距到期时间的天数(正数),过期则显示负数SqlCommand cmd = new SqlCommand("select * from MyTest",cn);
cn.Open();
SqlDataReader dr = cmd.ExecuteReader();
StringBuilder sb = new StringBuilder();int day = Convert.ToInt32(DateTime.Now - dr.GetDateTime(3)); 这样写报错“指定的转换无效。”
请问我该如何写?谢谢

解决方案 »

  1.   

    TimeSpan ts=DateTime.Now - dr.GetDateTime(3);
    ts.TotalDays//相差几天
      

  2.   

    楼上 的方法可行不过要用ts.Days这样才是正数
      

  3.   

    timspan相减 取Days.
    使用
      

  4.   

    很感谢刚才几位朋友的回复
    我用这条语句:TimeSpan ts=dr.GetDateTime(2)-DateTime.Now;
    但是结果中今天距8月11日和8月12日都为0天,这事怎么回事?
    如何修改,谢谢大家 2011-08-10 -1 
     2011-08-11 0
     2011-08-12 0 
     2011-08-13 1 
     
      

  5.   

    DateTime.Compare
    DateTime t1 =DateTime.Now;
    DateTime t2 = DateTime.Now.AddDays(1);if (DateTime.Compare(t1, t2) >  0) Console.WriteLine("t1 > t2"); 
    if (DateTime.Compare(t1, t2) == 0) Console.WriteLine("t1 == t2"); 
    if (DateTime.Compare(t1, t2) <  0) Console.WriteLine("t1 < t2");